c语言一位数字运算函数 c语言如何计算一个数的位数

c语言调用函数求一个整数数的位数

#includestdio.h

在治多等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、网站设计 网站设计制作按需定制制作,公司网站建设,企业网站建设,品牌网站建设,营销型网站建设,外贸营销网站建设,治多网站建设费用合理。

int count = 1;

int calc(int num){

while (1 == 1) {

count++;

num /= 10;

if(num 0){ //小于0的数就变成正数

num *= -1;

}

if (num 10) {

break;

}

}

return count;

}

void main(){

int num = 0;

printf("请输入一个数:");

scanf("%d",num)

printf("数字%d是一个%d位数!",num,calc(num));

}

C语言位运算

一、位运算符C语言提供了六种位运算符:

按位与

| 按位或

^ 按位异或

~ 取反

左移

右移

1. 按位与运算 按位与运算符""是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。

例如:95可写算式如下: 00001001 (9的二进制补码)00000101 (5的二进制补码) 00000001 (1的二进制补码)可见95=1。

按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a255 运算 ( 255 的二进制数为0000000011111111)。

main(){

int a=9,b=5,c;

c=ab;

printf("a=%d\nb=%d\nc=%d\n",a,b,c);

}

2. 按位或运算 按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。

例如:9|5可写算式如下: 00001001|00000101

00001101 (十进制为13)可见9|5=13

main(){

int a=9,b=5,c;

c=a|b;

printf("a=%d\nb=%d\nc=%d\n",a,b,c);

}

3. 按位异或运算 按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,例如9^5可写成算式如下: 00001001^00000101 00001100 (十进制为12)

main(){

int a=9;

a=a^15;

printf("a=%d\n",a);

}

4. 求反运算 求反运算符~为单目运算符,具有右结合性。 其功能是对参与运算的数的各二进位按位求反。例如~9的运算为: ~(0000000000001001)结果为:1111111111110110

5. 左移运算 左移运算符“”是双目运算符。其功能把“ ”左边的运算数的各二进位全部左移若干位,由“”右边的数指定移动的位数,

高位丢弃,低位补0。例如: a”是双目运算符。其功能是把“ ”左边的运算数的各二进位全部右移若干位,“”右边的数指定移动的位数。

例如:设 a=15,a2 表示把000001111右移为00000011(十进制3)。 应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时, 最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定。Turbo C和很多系统规定为补1。

main(){

unsigned a,b;

printf("input a number: ");

scanf("%d",a);

b=a5;

b=b15;

printf("a=%d\tb=%d\n",a,b);

}

请再看一例!

main(){

char a='a',b='b';

int p,c,d;

p=a;

p=(p8)|b;

d=p0xff;

c=(p0xff00)8;

printf("a=%d\nb=%d\nc=%d\nd=%d\n",a,b,c,d);

}

C语言,设计一个函数,实现加,减,乘,除运算。

# includestdio.h

double jia(double x, double d)

{

double s;

s = x+d;

return s;

}

double jian(double x, double d)

{

double s;

s = x-d;

return s;

}

double cheng(double x, double d)

{

double s;

s = x*d;

return s;

}

double chu(double x, double d)

{

double s;

s = x/d;

return s;

}

int main(void)

{

double i, j, k;

char t;

k = 0;

printf("请输入要计算什么运算“+”“-”“*”“/”\n");

scanf("%c", t);

if(t == '+')

{

printf("请输入要相加的两个数\n");

scanf("%lf %lf", i, j);

k = jia(i, j);

printf("这两个数相加为%6.2lf\n", k);

}

else if(t == '-')

{

printf("请输入要相减的两个数\n");

scanf("%lf %lf", i, j);

k = jian(i, j);

printf("这两个数相减为%6.2lf\n", k);

}

else if(t == '*')

{

printf("请输入要相*的两个数\n");

scanf("%lf %lf", i, j);

k = cheng(i, j);

printf("这两个数相*为%6.2lf\n", k);

}

else if(t == '/')

{

printf("请输入要相/的两个数\n");

scanf("%lf %lf", i, j);

k = chu(i, j);

printf("这两个数相/为%6.2lf\n", k);

}

else

{

printf("对不起目前只支持“+”“-”“*”“/”\n");

}

return 0;

}


网站标题:c语言一位数字运算函数 c语言如何计算一个数的位数
转载注明:http://myzitong.com/article/dohpgip.html