// c primer plus上的内容,位运算

#include char * itobs (int n,char * ps);

void show_bstr(const char *);

int invert_end(int num,int bits);

int main(void){

char bin_str[8*sizeof(int)+1];

int number;

puts("Enter integers and see them in binary.");

puts("Non-numberic input terminates program.");

while(scanf("%d",&number)==1){

itobs(number,bin_str);

printf("%d is \n",number);

show_bstr(bin_str);

putchar('\n');

number = invert_end(number,4);

printf("Inverting the last 4 bits gives\n");

show_bstr(itobs(number,bin_str));

putchar('\n');

}

return 0;

}

//整数转换成二进制串

char* itobs(int n,char * ps){

int i;

static int size = 8 * sizeof(int);

for(i=size-1;i>=0;i--,n >>=1)

ps[i]=(01 & n) + '0';

ps[size]='\0';

return ps;

}

//4位一组显示二进制字符串

void show_bstr(const char * str){

int i=0;

while(str[i]){

putchar(str[i]);

if(++i %4 ==0 && str[i])

putchar(' ');

}

}

//反转数最后N位

int invert_end(int num,int bits){

int mask=0;

int bitval=1;

while(bits-->0){

mask |=bitval;

bitval <<=1;

}

return num^mask;

}

c语言 整数转二进制取位,C语言位运算--将整数转换成二进制串以及反转整数后N位...相关推荐

  1. c语言 整数转换成二进制 模仿c++的 _itoa() 函数

    _itoa() 函数 头文件 :#include <stdlib.h> char *_itoa(int _value, char* _Dest, int _Radix); 功能:实现整数转 ...

  2. 如何把一个整数转换成二进制

    下面介绍一种把键盘输入的整数转换成二进制的方法:程序如下: #include <stdio.h>void int2bin1(int num) {int i;for(i = 1; i < ...

  3. 实现 十进制整数转换成二进制,八进制,十六进制

    整型有4种进制形式: 1.十进制: 都是以0-9这九个数字组成,不能以0开头. 2.二进制: 由0和1两个数字组成. 3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始. ...

  4. C语言十进制转换成二进制、八进制、十六进制

    一.绪论 十六进制(Hexadecimal):在数学中是一种逢16进1的进位制.一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15. 十进制(Decimal System):每相 ...

  5. C语言十进制转换成二进制源码

    把开发过程比较重要的一些内容备份一次,下边资料是关于C语言十进制转换成二进制的内容,应该对各位朋友有一些用. #include int main() { int num; std::cout < ...

  6. 十进制转二进制转换c语言程序,c语言编程如何实现-十进制数转换成二进制和 – 手机爱问...

    2006-10-10 (1).将十进制正整数转换成k进制(2<=k<=9)的数字输出.例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示1000). (2).请编写函数vo ...

  7. 格雷码转换成二进制c语言程序,格雷码与二进制的转换程序

    /* 格雷码与二进制的转换程序 * 本程序采用递推的方法进行推导,可以转换0~2147483647之间的数(1~31位) * 推导方式如下(以三位格雷码为例): * 序号 格雷码 格雷码实值 二进制码 ...

  8. 十进制转换成二进制——C语言

    利用数组和调用函数编写一个十进制转换成二进制的程序 #include "stdio.h" int main(){int i = 0, n , a[32];printf(" ...

  9. C语言 十进制转换成二进制

    /*十进制转换成二进制*/#include<stdio.h>int main(int argc,char argv[]){int num,i;scanf("%d",&a ...

最新文章

  1. 微生物培养的福音:一个直接用16S rDNA序列来预测其培养基配方的网站!!!...
  2. 2018年人工智能将赋能所有行业,未来市场将超过400亿美元
  3. 送一台电脑显示器,我每天办公都用它,安利!
  4. asp连接oracle 服务端,Asp.net core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库...
  5. ASP.NET Core on K8S深入学习(1)K8S基础知识与集群搭建
  6. java 使用 new Date() 和 System.currentTimeMillis() 获取当前 时间戳
  7. #分布式系统架构之# 事件驱动模式以及与之匹配的长时间处理过程讨论
  8. html图片实现左右滑动,jquery实现左右滑动式轮播图
  9. DICOM图像像素值、灰度值与CT值
  10. android开发,动态图标,Android动态更新APP图标
  11. 探寻埋藏在心底的梦想,社科院与杜兰大学金融管理硕士项目伴你同行
  12. iphone 如何给cydia添加中文源和威锋源
  13. Shopee关键词广告投放策略解析-马六甲erp
  14. 分享一个计算机视觉图片或者视频的标注神器
  15. 【宝藏分享】自从用了这款PPT插件,小伙伴们都跪着看我
  16. 通过命令行运行matlab代码
  17. 2023年国家司法考试报名条件有哪些 非法学可以考吗
  18. 照片动感影集制作软件哪个好?如何快速制作精美、酷炫的效果?
  19. mysql errorcode 1366_mysql插入emoji表情报 error code [1366]
  20. 看懂了一点傅里叶变换的原理

热门文章

  1. servlet请求的执行过程_Springmvc执行流程
  2. 重构是什么、为什么要重构
  3. 求生之路显示服务器指令,求生之路2控制台指令..doc
  4. linux 编辑文件vim,linux下通过vim编辑文件的方法
  5. OpenGL ES (三)着色器和程序
  6. SQL 2019——新特征
  7. 从Android上的相机裁剪图像
  8. laravel生成php代码,laravel代码生成器
  9. python print format_Python中的format格式化输出
  10. 微信抢红包算法 java_java 实现仿照微信抢红包算法,实测结果基本和微信吻合,附demo...