| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1188 人关注过本帖
标题:[求助]一个关于进制转换的程序编程问题
只看楼主 加入收藏
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用kisscjy在2007-5-22 23:23:30的发言:
2进制怎样表示负数呢???

采用反码和补码;
比如表示-1的2进制。(为简单,假如只有4位!呵呵)
1的2进制表示 0001;
1的反码: 1110就是把上面的1变0,0变1;
1的补码: 1111就是反码加1;

所以-1的2进制表示为:1111;

一个带符号的的2进制数,最高价位是符号位,0为正,1为负!


Fight  to win  or  die...
2007-05-23 09:16
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 

先发个正数给你看看,
负数我要想一想才可以写出来.

#include<iostream>
#include<math.h>
using namespace std;

void main()
{
char a[100];
int k,j;
double sum=0;

cout<<"输入一段2进制代码(包括小数点):\n";
cin>>a;

for(int i=0;a[i]!='.';)
{
i++;
}

k=i;

for(i=k-1;i!=0;i--) //整数部分
{
switch(a[i])
{
case '0': j=0;break;
case '1': j=1;break;
}
sum=sum+j*pow(2,k-1-i);
}

for(i=k+1;a[i]!='\0';i++) //小数部分
{
switch(a[i])
{
case '0': j=0;break;
case '1': j=1;break;
}
sum=sum+j*pow(2,k-i);
}

cout<<"转换后的十进制数为:\t"<<sum<<endl;

}


每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-05-23 14:10
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 
以下是引用aipb2007在2007-5-23 9:16:48的发言:

采用反码和补码;
比如表示-1的2进制。(为简单,假如只有4位!呵呵)
1的2进制表示 0001;
1的反码: 1110就是把上面的1变0,0变1;
1的补码: 1111就是反码加1;

所以-1的2进制表示为:1111;

一个带符号的的2进制数,最高价位是符号位,0为正,1为负!

我想问一下当一个负小数二进制的时候,
例如-3.14,

假如它的二进制 为0011.10101(假如的话)
取反 1100.01010
加一 加在哪里??

是加在小数点前的0?
或是加在最后的一个0??

希望指教~~~


每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-05-23 14:29
hemingsheng
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2007-5-16
收藏
得分:0 
感谢12楼的kisscjy回答 ^_^
同時想請教一個問題:
定义类时
私有成员是不是自己随意设定的??

设计彼岸程序 编写人生代码
2007-05-24 17:00
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 
你说的是不是私有成员的赋值??

如果是赋值的话,就需要用到构造函数来赋值了~~

每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-05-24 17:02
hemingsheng
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2007-5-16
收藏
得分:0 

是私有成员里面的成员表```


设计彼岸程序 编写人生代码
2007-05-24 17:04
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 

你可以在一个类里面定义任意多,任意类型的私有成员....

应该是这样吧,我没有试过..

[此贴子已经被作者于2007-5-24 17:22:23编辑过]


每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-05-24 17:21
hemingsheng
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2007-5-16
收藏
得分:0 
回复:(kisscjy)你可以在一个类里面定义任意多,任意...

是可以定义任意多的哦 谢谢了~


设计彼岸程序 编写人生代码
2007-05-25 12:39
快速回复:[求助]一个关于进制转换的程序编程问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025107 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved