有关数制转换
本帖最后由 dt3tc 于 2018-3-24 11:41 编辑咱们知道-5和251的二进制形式都是11111011,那么请问如何确保编译器不会混淆的呢
谢谢 在存储空间中,是按照补码的形式存储的,如果存储空间存储的是这个11111011,
那么他只会认为这个是一个负数-5,而不会认为是251,所以不会存在混淆的问题在编译器上
你认为他会混淆,是因为实际他可以表示的范围没有这么大,所以会产生溢出,这个是你在编写程序中应该
注意避免这样的问题。 这取决于你放置这个二进制的容器是怎么样的~
这里拿 char打比方~
unsigned char 无符号字符型~ 也就是说 他只能存放非负数的值!也就是说把符号位也计入数值里面~
1111 1011这里全部表示的都是数值!
char 这是有符号位的字符型~ 符号位为1 那么他是负数, 符号为0 那么他是正数~
1111 1011 而这里的第一位表示符号位
小甲鱼有一期视频专门讲进制转换的你可以去看看比较详细 大家的回答都很有道理,但是最佳答案只有一个,不好意思了
页:
[1]