|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求助求助!!反码 原码 问题。
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2018
人关注过本帖
标题:
求助求助!!反码 原码 问题。
取消只看楼主
加入收藏
北冥有鱼:
等 级:
新手上路
帖 子:71
专家分:0
注 册:2017-10-12
结帖率:
45.45%
楼主
收藏
问题点数:0 回复次数:3
求助求助!!反码 原码 问题。
脑子感觉快烧没了。。。。
char i=255;
printf i=-1
我是这么想的,计算机先把这个255数字转化为二进制,就是11111111, 然后把这个二进制当补码来看,八位里就是-1啦。
可是,如果是char i=-1的话,可是-1好像不能化为二进制吧?》所以这个想法有问题。
第二种想法,先把这个数字化为原码,在转化为补码,但是,255在1个字节八位里好像不能化成原码。。。
有大佬给理一理的吗?
搜索更多相关主题的帖子:
char
数字
转化
二进制
补码
2017-12-08 10:49
举报帖子
使用道具
赠送鲜花
北冥有鱼:
等 级:
新手上路
帖 子:71
专家分:0
注 册:2017-10-12
第
2
楼
收藏
得分:0
回复 4楼 九转星河
那 char a=255
计算机是怎么 读取 的呢?
char a=-1
又是怎么读取的??/
我觉得 如果a是正数的话,它可以转化为一个二进制数,比如255的纯2进制是11111111,但是计算机是以补码来看的,即11111111 是-1,输出-1.
可是要是负数该怎么考虑这个问题呢?
[此贴子已经被作者于2017-12-8 14:11编辑过]
2017-12-08 14:06
举报帖子
使用道具
赠送鲜花
北冥有鱼:
等 级:
新手上路
帖 子:71
专家分:0
注 册:2017-10-12
第
3
楼
收藏
得分:0
回复 6楼 九转星河
大佬我 是萌新 有点头晕。。。。那你觉得我那个想法是对的吗? 就是正数的那个
2017-12-08 14:18
举报帖子
使用道具
赠送鲜花
北冥有鱼:
等 级:
新手上路
帖 子:71
专家分:0
注 册:2017-10-12
第
4
楼
收藏
得分:0
回复 12楼 九转星河
大佬 我理了一下。
计算机内的一切运算都是以补码来的。
对于外界输入一个正数,转化为二进制以后,根据类型(八位,十六位等)对它切割,溢出的拿掉,计算机认为现在得到就是补码。就像char a =255,是11111111 它就是-1的补码,计算机根据补码认为它就是-1,所以输出a的话值就是-1。
但是如果输入一个负数的话,计算机会直接把这个负数转化为补码的形式。在根据类型切割,剩下的部分按补码来 是多少就是多少,如果没切割的话,就不变了。就像char a =-1.输出a还是-1.。
这个只是我个人不停找数字测结果 想出来的,到底是不是也不清楚。
小萌新这块只能理解到这里啦~~~~
2017-12-08 19:07
举报帖子
使用道具
赠送鲜花
4
1/1页
1
快速回复:
求助求助!!反码 原码 问题。
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.572555 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved