开发者社区> 问答> 正文

C语言中,二进制数1000000000000000所对应的十进制数怎么算?(这是一个二进制负数。)

C语言中,二进制数1000000000000000所对应的十进制数怎么算?(这是一个二进制负数。)

展开
收起
知与谁同 2018-07-22 18:38:57 3879 0
5 条回答
写回答
取消 提交回答
  • 12535
    这个是-128
    2019-07-17 22:57:54
    赞同 展开评论 打赏
  • int32类型二进制是1000(8) 0000(0) 0000(0) 0000(0) 0000(0) 0000(0) 0000(0) 0000(0) = 十六进制8000 0000;十六进制是0 - 9 A(10) B(11) C(12) D(13) E(14) F(15) 10(10就进位,与二进制一样)
    2019-07-17 22:57:54
    赞同 展开评论 打赏
  • C语言中,... 怎么算。 答,写程序算又快又简单。

    二进制数1000000000000000
    写成16进制数,每4位一组就转过来了。
    最高4位2进制,变1为16进制数8,其它位都是 0。就成了 0x8000
    你说是负数,所以是 short int, 共16字元 (bits).

    #include <stdio.h>
    int main()
    {
    short int x=0x8000;
    printf("%d\n",x); // %d 格式 就输出10进制了。
    return 0;
    }

    得 -32768
    2019-07-17 22:57:54
    赞同 展开评论 打赏
  • 按照如下定义,一个负数的表示方法就是它绝对值所对应的正数取反加1。那么就把这个负数表示减去1,然后取反,算出的正数就是这个负数的相反数。
    2019-07-17 22:57:54
    赞同 展开评论 打赏
  • 计算机是用补码来存储数据的。
    所以:
    1000 0000 0000 0000 先取反得:0111 1111 1111 1111 ,转十进制得:32767,再加符号-32767,再减一得:-32768
    2019-07-17 22:57:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载