package main import "fmt" var a = 21.0 var b = 5.0 //var c float64 func main() { Arithmetic() // 算数运算 BitOperation() // 位运算 LogicalOperation() // 逻辑运算 Assignment() // 赋值运算 } func Arithmetic() { /* 算术运算符 */ fmt.Println(a + b) fmt.Println(a - b) f
一.位运算实例 1.用一个表达式,判断一个数X是否是2的N次方(2,4,8,16.....),不可用循环语句. X:2,4,8,16转化成二进制是10,100,1000,10000.如果减1则变成01,011,0111,01111.两者做按位与运算,结果如果为0,则X是2的N次方. 2.统计一个整数的二进制中1的个数 int count_number_of_one(int number) { int counter = 0; while (number) { counter++; number
这里参考了一篇很好的位运算,涉及到位运算可能会遇到的正负号问题,左右溢出怎么处理问题. 参考: 1. https://www.cnblogs.com/myblesh/articles/2431806.html 2. 似乎是:原作者: http://hi.baidu.com/todaygoodhujun/blog/item/b8c10dd15ae4dfd3572c8417.html 先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用<<运算符.例如:int i = 1; i = i
这篇文章来自:http://blog.csdn.net/qp120291570/article/details/8708286 位运算 C语言中的位运算包括与(&),或(|),亦或(^),非(~). 下面的代码包扩了这些基本运算,还有一个两个数的交换(不用第三个数). #include<stdio.h> #include<stdlib.h> //print a int in binary void bit_print(int a) { int i; int n=16; in