您的位置:

赋值小数c语言,c语言int可以赋值小数吗

本文目录一览:

c语言中小数怎么表示

两种表示方式:

1、定点表示:必须有小数点。

例如:0.123, .123, 123.0。

2、指数表示:e或E之前必须有数字,指数必须为整数。

例如:12.3e3 ,123E2, 1.23e4。

注意:浮点数常量默认为double类型,如果浮点数常量表示float类型,在末尾添加小写的f或者大写的F,表示此常量为单精度浮点常量。

定点小数是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。若数据x的形式为x=x0.x1x2…xn(其中x0为符号位,x1~xn是数值的有效部分,也称为尾数,x1为最高有效位),则在计算机中的表示形式为:

一般说来,如果最末位xn= 1,前面各位都为0,则数的绝对值最小,即|x|min= 2^(-n)。如果各位均为1,则数的绝对值最大,即|x|max=1-2^(-n)。所以定点小数的表示范围是:2^(-n)≤|x|≤1 -2^(-n)。

扩展资料

由于“编码总位数为8”的限制,真值-128无法用原码、反码来表示,似乎不能用上述规则来求解补码,但实际上是可行的——只要不管它的最高位即可,操作办法如下:

将128化为二进制为:1 0000000,最高位为1,可以只对舍去最高位后剩余的7位进行处理即可,首先取反得:1111111,加1得:1 0000000,最高位有进位需丢弃,即得:0000000,加上符号位就得补码:1 0000000。

又如,当编码总位数为4时,真值X=+0.101的原码、反码、补码均为:0 101。

真值X=-0.101的原码、反码、补码依次为:1 101、1 010、1 011。

同理,特例,-1的补码为:1 000。

在定点小数中,小数点隐含在第一位编码和第二位编码之间

定点小数,是指小数点准确固定在数据某个位置上的小数,从实用角度看,都把小数点固定在最高数据位的左边,小数点前边再设一位符号位。按此规则,任何一个小数都可以被写成 :N = NS . N-1 N-2 … N-M。

参考资料来源:百度百科-定点小数的表示方法

在C语言中,怎样取小数只取2两位 然后赋值给字符串?

方法:

定义字符数组用来存储字符串

定义浮点数赋值,如:double d=1.23456;

用sprintf()的%.2f格式截取浮点数的小数位,第三位四舍五入

输出结果验证

参考代码:

附:sprintf()函数格式说明(与printf格式相同):

%m.nf        m是输出输出数据最小字符宽度(可省,按实际长度输出),n为小数点后保留位数(0表示不输出小数位和小数点),第n+1位四舍五入,f表示按浮点数输出。

C语言中如何定义小数

C语言中用于描述小数的数据类型是float和double,float类型表示单精度浮点数,double表示双精度浮点数。

C语言中浮点数常量有两种表示方式:

1、定点表示:(必须有小数点)

如:0.123,

.123,

123.0。

2、指数表示:(e或E之前必须有数字,指数必须为整数)如:12.3e3

,123E2,

1.23e4。

错误的写法:e-5

,1.2E-3.5,e3。

注意:浮点数常量默认为double类型,如果浮点数常量表示float类型,请在末尾添加小写的f或者大写的F,表示此常量为单精度浮点常量。

float f1 = 1.1f; //小写f

float f2 = 1.1F; //大写F

double d = 1.1; //double类型

c语言中要如何声明一个小数变量,用哪一个字符串格式对其赋值

其实用c也很简单的,c里有用于处理字符串的头文件string.h

strcat()函数就是将两个字符串连接

不过在c里面是没字符串变量这个概念的,用字符指针来实现

下面是程序

#include"stdio.h"

#include"stdlib.h"

#include"string.h"

main(){

char

*send

=

"whatyouwant";/*用你想要的东西代替whatyouwant稍改一下可以自己输入,自己完成这个功能吧*/

char

*addr;

addr

=

strcat(send,"@163.com");/*将@163.com连接到send的后面*/

printf("%s",addr);

/*打印结果*/

getch();

}

本人亲自编译通过

C语言赋值中除法计算怎么保留N位小数?

方法一:通过数学方法判断分数是否是无限循环小数,需要确定分子分母是否互质,另外还要判断小数从第几位开始无限循环,比较麻烦。

方法二:直接讲分数运算结果转换成字符串,然后写函数进行字符串比较。代码如下:

#includestdio.h

#includestring.h

int checkAnswer(char solution[],char answer[]);//检查回答是否与答案匹配,是返回1,否返回0

int main()

{

    char solution[20];//存储1/3的答案字符串

    char answer[20];//存储用户输入的回答

    sprintf(solution,"%.16lf",1.0/3);//把除法运算结果转化成字符串保存,作为答案

    while(1)

    {

        printf("-----------------\n输入1/3的答案:");

        scanf("%s",answer);

        if(checkAnswer(solution,answer))

            printf("回答正确!\n");

        else

            printf("回答错误!\n");

        printf("-----------------\n");

    }

    return 0;

}

int checkAnswer(char solution[],char answer[])//检查回答是否与答案匹配,是返回1,否返回0

{

    int i,len1=strlen(solution),len2=strlen(answer),len;

    if(len2len1)

        len=len1;

    else

        len=len2;

    for(i=0;ilen;i++)

        if(solution[i]!=answer[i])

            return 0;

    return 1;

}