C语言---二进制位置0或者置1

简介: C语言---二进制位置0或者置1
二进制位置0或者置1
///*
//编写代码将13二进制序列的第5位修改位1,然后改回0
//*/
///*int main()
//{
//    int a = 13;
//    //00000000000000000000000000001101
//    //00000000000000000000000000010000
//    //00000000000000000000000000000001---1的原码
//    int n = 5;
//    a= a|(1 << (n - 1));//把1的二进制数列向左移动四位就得
//                 //到第二行的代码
//
///* |  按位或,有1就是1,两个0才是0
//这样就可以把第一个二进制数列的从右到左的第5个数字改成1
//a= a|(1 << (n - 1))按位或完,再重新为a赋值
//*/
///*    printf("%d\n", a);
//    return 0;
//}*/
//
将第5为改回0
给这一位&0就行了,其他位保持不变
//int main()
//{
//    int a = 13;
//    //00000000000000000000000000001101
//    //00000000000000000000000000010000
//    //00000000000000000000000000000001---1的原码
//    
//    //&两个1才是1,有0就是0
//    // 只能改变第5位数字,其他的不能变
//    //00000000000000000000000000011101--第一次改变的原码
//    //11111111111111111111111111101111
//    //00000000000000000000000000001101--按位与后的结果
//    int n = 5;
//    //这个代码就是1向左移动4位再取反后的结果
//    //11111111111111111111111111101111
//    a &= ~(a << (n - 1));
//    printf("%d\n", a);
//    return 0;
//}
相关文章
|
1月前
|
存储 C语言
C语言实现二进制到十进制
C语言实现二进制到十进制
27 0
|
4天前
|
C语言
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
|
8天前
|
C语言
C语言-----计算两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
C语言-----计算两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
|
8天前
|
C语言
C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
|
8天前
|
存储 C语言
C语言---求一个整数存储在内存中的二进制中1的个数--3种方法
C语言---求一个整数存储在内存中的二进制中1的个数--3种方法
|
1月前
|
C语言
C语言进阶21收尾(编程练习)(atoi,strncpy,strncat,offsetof模拟实现+找单身狗+宏交换二进制奇偶位)(下)
C语言进阶21收尾(编程练习)(atoi,strncpy,strncat,offsetof模拟实现+找单身狗+宏交换二进制奇偶位)
27 0
|
1月前
|
C语言
C语言进阶21收尾(编程练习)(atoi,strncpy,strncat,offsetof模拟实现+找单身狗+宏交换二进制奇偶位)(上)
C语言进阶21收尾(编程练习)(atoi,strncpy,strncat,offsetof模拟实现+找单身狗+宏交换二进制奇偶位)
75 0
|
1月前
|
C语言
【C语言】求一个整数的二进制序列中1的个数的三种方法
【C语言】求一个整数的二进制序列中1的个数的三种方法
19 0
|
1月前
|
存储 C语言
十进制转二进制,C语言的必备技能
十进制转二进制,C语言的必备技能
|
1月前
|
存储 C语言
C语言十进制转二进制
C语言十进制转二进制
44 0