十进制数转换为二进制数

cpp 复制代码
#include <stdio.h>
 
int main()
{ 
  int i,j,bit, b[16];
  unsigned int n,m,mask;
  mask=0x8000;    /* 最高位为1,其余位为0 */
 
  n=1689;
  printf("binary of %d is:",n);
  for(i=0; i<16; i++)
  { 
    bit=(mask & n) ? 1:0;
    printf("%1d", bit);
    if (i==7) printf("--");
    b[i]=(mask & n) ? 1:0;
    mask = mask>>1;         /* 右移一位,得到下一个屏蔽字 */
  }
 
  m=0;
  for(i=0; i<16; i++)    //重新得到n的值1689保存于m中
	{
	  j=15-i;
      if(b[i]!=0)
	    m += b[i]<<j;
	}
  printf("  m  is: %d",m);
  return 0;
}

运行结果:

binary of 1689 is:00000110--10011001 m is: 1689

相关推荐
不正经学生3 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技3 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
恋恋西风6 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx6 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_7 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_7 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu7 小时前
CSharp: 万年历
开发语言·后端·c#·.net
我找到地球的支点啦8 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
予昊8 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
weixin_461408588 小时前
Mybatis-flex小记
java·开发语言·mybatis