精华内容
下载资源
问答
  • int类型位数头文件

    2020-01-31 18:20:30
    int类型位数头文件,直接#include <intlong.h>即可。(要把次头文件放入\CodeBlocks\MinGW\include里)
  • 获取int的长度是否比这种方法更简洁? int length = String.valueOf(1000).length();

    本文翻译自:Way to get number of digits in an int?

    获取int的长度是否比这种方法更简洁?

    int length = String.valueOf(1000).length();
    

    #1楼

    参考:https://stackoom.com/question/5TwF/获取int的位数的方法


    #2楼

    How about plain old Mathematics? 普通的老数学怎么样? Divide by 10 until you reach 0. 除以10直到达到0。

    public static int getSize(long number) {
            int count = 0;
            while (number > 0) {
                count += 1;
                number = (number / 10);
            }
            return count;
        }
    

    #3楼

    The logarithm is your friend: 对数是你的朋友:

    int n = 1000;
    int length = (int)(Math.log10(n)+1);
    

    NB: only valid for n > 0. 注意:仅对n> 0有效。


    #4楼

    Since the number of digits in base 10 of an integer is just 1 + truncate(log10(number)) , you can do: 由于整数的基数10中的位数仅为1 + truncate(log10(数字)) ,因此您可以:

    public class Test {
    
        public static void main(String[] args) {
    
            final int number = 1234;
            final int digits = 1 + (int)Math.floor(Math.log10(number));
    
            System.out.println(digits);
        }
    }
    

    Edited because my last edit fixed the code example, but not the description. 编辑,因为我的上一次编辑修复了代码示例,但没有修改说明。


    #5楼

    Your String-based solution is perfectly OK, there is nothing "un-neat" about it. 你的基于String的解决方案完全没问题,没有什么“不整齐”的。 You have to realize that mathematically, numbers don't have a length, nor do they have digits. 你必须在数学上认识到,数字没有长度,也没有数字。 Length and digits are both properties of a physical representation of a number in a specific base, ie a String. 长度和数字都是特定基数中数字的物理表示的属性,即字符串。

    A logarithm-based solution does (some of) the same things the String-based one does internally, and probably does so (insignificantly) faster because it only produces the length and ignores the digits. 基于对数的解决方案(基于字符串的)在内部执行(某些)相同的操作,并且可能更快(无关紧要)更快,因为它只生成长度并忽略数字。 But I wouldn't actually consider it clearer in intent - and that's the most important factor. 但我实际上并不认为它的意图更清晰 - 这是最重要的因素。


    #6楼

    Can I try? 我可以试试吗? ;) ;)

    based on Dirk's solution 基于Dirk的解决方案

    final int digits = number==0?1:(1 + (int)Math.floor(Math.log10(Math.abs(number))));
    
    展开全文
  • C语言取得int位数

    千次阅读 2016-09-16 17:28:40
    //取得一个int位数 int getLength(int num){ int n = num, count = 0; while (n) { count++; n /= 10; } return count; }
    //取得一个int的位数
    
    int getLength(int num){
    int n = num, count = 0;
    while (n)
    {
    count++;
    n /= 10;
    }
    return count;
    }
    展开全文
  • c语言中关于int位数问题

    万次阅读 2015-03-01 10:10:44
    2.编译器在处理的时候根据操作系统的位数决定int的字节数,32位,16位都是4个字节的,64位是8个字节 3.用sizeof(1)可以看出数字1的字节数,1一般默认都是int类型来存储的 4.long的位数也是不确定的,lon

    前提:一直以来对于位数问题理解实在是模糊,作为一个混迹编程多年的菜鸟实在是羞愧难当!

    int 类型:

    1.默认是有符号的,无符号类型(unsigned int)

    2.编译器在处理的时候根据操作系统的位数决定int的字节数,32位,16位都是4个字节的,64位是8个字节

    3.用sizeof(1)可以看出数字1的字节数,1一般默认都是int类型来存储的

    4.long的位数也是不确定的,long long 确定是8个字节

    5.在C11的标准中追加stdint.h避免了位数的不确定如:int32_t就是指4个字节的,int8_t就是一个字节

    位数与字节:

    字节也叫Byte,是计算机数据的基本存储单位。

    如:C语言中的byte类型占一字节,一字节等于八位

    我们来看看一个位能表示多少东西: 最小0 最大1  表示 2的1次方
    再看看两个位能表示多少东西: 最小00 最大11 共2的2次方, 能表达四个数
    再看看三个位能表示多少东西: 最小000 最大111 共2的3次方,能表达8个数
    那八个位能表示多少?
    最小:00000000 最大:11111111 这就是8位 也叫一个字节 
    如果用数没有正负之分那可以表示 0~255 共256个数字. 也可以叫做 2的8次方,你用计算器算算,2的8次方是不是等于256?
    如果数有正负之分那可以表示-128~+127 也是256个数,因为8位里面拿走一个位用来表示正负了,所以只能表示最大127

    接下来 : 9位 = 2的九次方 =512个数字
    接下来: 10位 = 2的十次方 =1024 个 ..... 以此类推

    现在知道答案了吧: 
    1 byte = 1字节  = 8bit 可表达 2的八次方个数字
    1 short= 2字节  = 16bit 可表达2的十六次方个数字
    1 int  = 4字节  = 32bit 可表达2的32次方
    1024GB=1TB 
    其中:K是千 M是兆 G是吉咖 T是太拉。
    在电脑里一个中文字是占两个字节的。



    展开全文
  • 计算int型数据的位数

    千次阅读 2017-02-21 23:28:42
    如果要计算一个int类型数据的位数,方法:1、传统的用一个计数变量count,然后循环体中一直number/10,count计数,最后的count就是位数2、直接用log函数,位数count=(int)log10(num)+13、用sprintf和strlen函数,...

    【转自:http://blog.csdn.net/thepeakofmountain/article/details/37575893

    如果要计算一个int类型数据的位数,方法:

    1、传统的用一个计数变量count,然后循环体中一直number/10,count计数,最后的count就是位数

    2、直接用log函数,位数count=(int)log10(num)+1

    3、用sprintf和strlen函数,sprintf(str,”%d”,num),count=strlen(str),这种直接求长度效率肯定要低很多,但是直接用了库函数不需要自己实现,如果需要对字符串处理的话,str还是很有价值的

    展开全文
  • int long long 表示的位数

    千次阅读 2019-01-24 13:13:41
    int : -2147483648~2147483647 10位 long long int : 最大值:9223372036854775807long long的最小值:-9223372036854775808 19位
  • 下面写两个方法来实现。 第一个方法:用log10 #include<iostream> #include<cmath> using namespace std;...int main() { int n; while(1) { cin>>n; int count=1+log10(n); ...
  • 使用固定位数输出int值的方法

    千次阅读 2019-07-08 15:38:36
    int main() { for(int i=0;i;i++) { stringstream ss; ss(4)('0'); string dir=ss.str(); cout; } } 运行结果: frame0000.jpg frame0001.jpg frame0002.jpg frame0003.jpg frame0004.jpg frame0005....
  • 偶然间,在查看Integer的源码的时候,发现一个很便捷的方法,可以判断int数值的位数;不多说,直接添源码: final static int [] sizeTable = { 9, 99, 999, 9999, 99999, 999999, 9999999, 99999999, 999999999, ...
  • Java查看int值的位数

    千次阅读 2014-02-24 21:14:31
    判断一个int值是几位数,要是我自己实现,估计又会想到除法和模运算了,偶然在java标准API源码中发现的写法,很强大。 public class Test { final static int[] sizeTable = { 9, 99, 999, 9999, 99999, 999999,...
  • unsigned int 0~4294967295 int 2147483648~2147483647  unsigned long 0~4294967295 long 2147483648~2147483647 long long的最大值:9223372036854775807 lon
  • C++声明整数的位数

    千次阅读 2020-02-01 13:06:13
    可以在 C++ 代码中直接声明一个整形变量的位数,例如: int a:4; //变量 a 为四位整数。 a = 7; //a = 7; a++; //a = -8; C++功能太丰富了,用了一辈子都无法完全掌握,听说今年又扩展功能了。 ...
  • int i=1; QString b=QString("%1").arg(i, 3, 10, QChar('0')); 其中3表示需要保留3位数字,10是10进制,后面是以0补齐的意思。 方法二: int cmd=1; QString str=QString::number(cmd).sprintf("%03d",cmd); -...
  • java中int转成String位数不足前面补零

    万次阅读 多人点赞 2017-02-19 21:40:49
    转载自:http://ych0108.iteye.com/blog/2174134java中int转String位数不够前面...d表示参数为整数类型 今天想将int 转String 位数不够前面补零,在本来想看看有没有现成的API的,结果搜出来的大多数下面这个 public
  • C# 中int short Int16 Int32 Int64详解

    千次阅读 2018-10-16 16:05:26
    Java中没有Int32,Int64,,只有int,short,long Java中int就代表Int32 ,short就代表Int16,long就代表Int64 首先,几个基本的关键字: Int16 = short, 占2个字节. -32768 ~ 32767 Int32 = int, 占4个字节. -...
  • 关于C++中数字的位数

    千次阅读 2019-02-21 20:20:03
    int 为32位,数字范围为(-2^31 ~ 231-1),由于210近似为1024即10^3,故int的数字范围大约为(- 10^9 ~ 10^9) short 为16位 double为64位 在进行强制转换时,如double转int,int转short,会忽略高位上的数字。 ...
  • int、float和double的字节及位码

    千次阅读 2019-06-11 20:00:52
    int类型: 4字节32位 第一位:符号位 2-9位:阶位/指数位 10-32位:普通数值位 0 00000000 00000000000000000000001 flaot类型: 4字节32位 第一位:符号位 2-9位:阶位/指数位 10-32位:...
  • int类型存放的数字位数

    千次阅读 2012-07-28 09:57:08
    int类型能存放10位的数字,最大为2147483647; int a=2147483647;这样定义没有问题 int b=2147483648;这样就会出错 应该这样定义long bb=2147483648l; 这是在java中,如果是在数据库中,值的大小超过了...
  • 确定一个int变量是几位数

    千次阅读 2019-09-09 16:57:54
    先把int转成String,通过length函数计算出是几位数。 public class Test1 { public static void main(String[] agrs) { int i=3445; String str= String.valueOf(i); System.out.println(str.length()); } }...
  • go中int到底有多少位?

    千次阅读 2018-04-09 16:39:42
    There are also two types called just int and uint that are the natural or most efficient size of signed and unsigned integers on a particular platform; int is by far the most widely used numeric type...
  • 求整数的位数及各位数字之和

    千次阅读 多人点赞 2019-11-24 11:28:45
    对于给定的正整数N,求它的位数及其各位数字之和。 输入格式: 输入在一行中给出一个不超过10​的9次幂​​的正整数N。 输出格式: 在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。 输入样例: ...
  • C# int int16 Int32 Int64的介绍

    千次阅读 2016-11-28 12:53:59
    C# int int16 Int32 Int64的介绍今天看到别人的代码中用到Int32,UInt32相关,想到自己平时用的都是int类型整数,就心生好奇的翻了一下资料: Int32 值类型表示值介于 -2,147,483,648 到 +2,147,483,647 之间的有...
  • python基本数据类型——int

    万次阅读 2017-06-02 23:52:02
    一、int的范围 python2:  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1;  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1; python3:  理论上长度是无限的(只要内存足够...
  • C语言控制输出小数位数

    千次阅读 2019-11-03 14:12:00
    在格式化输出语句中表示变量的字母及%中间的部分控制输出位数,小数点后是小数位数。 For example: // homework2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //2. 由键盘任意输入一个整数(变量zs...
  • Python求一个整数位数的方法

    万次阅读 2019-03-21 15:09:21
    a = int(input()); print(len(str(a))) print(a) 输入: 123 输出: 3 123
  • Go之如何提取数字的各个位数

    千次阅读 2019-03-14 20:31:32
    文章目录Go之如何提取数字的各个位数?1. 直接用数学方法进行计算2. 将数字转换成字符串,再进行截取总结 Go之如何提取数字的各个位数? 主要有两种方法 直接用数学方法进行计算 ...var data int = 12...
  • javascript的整数位数

    千次阅读 2018-04-07 00:30:08
    今天偶然发现了一道题目: Given a 32-bit signed integer, reverse digits of an integer. 题目让我写一个函数,它把 integer传进来,函数返回 integer的反转数.这个题也没什么难度,但是他要求32位,而我们都知道js...
  • 关于int类型表示的最大位数

    千次阅读 2017-11-27 17:34:00
    Integer 整型是有个范围的,而这个...这时候超出范围的数字会被解释为float类型,所以is_int()函数判断会是false,下面是64位的整数溢出: $large_number = 9223372036854775807; var_dump(is_int($large_numbe...
  • C++之 __int16 用法

    千次阅读 2017-10-25 19:27:48
    在看别人代码的时候看到了 __int 16 定义的变量 于是好奇,为什么不用 int 定义上网查了一下 首先要知道 这里的16是指16个位一个汉子有两个字节(byte)一个int有4个字节 而一个字节有8个位(bit) 也就是一个int有...
  • sql定义表时,int(10)是什么意思?

    万次阅读 2018-06-01 10:01:35
    int(M) M表示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关。 在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。 int(1)、int(4)、int(10) 在磁盘上都是占用 4 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 339,135
精华内容 135,654
关键字:

int位数