为什么int i = 2147483647 + 1;可以,但byte b = 127 + 1;不可编辑?
我正在尝试从数组中提取一个字符串(包含一个整数),然后将其用作函数中的int.我正在尝试使用intValue将其转换为int.
这是我一直在尝试的代码.
NSArray *_returnedArguments = [serverOutput componentsSeparatedByString:@":"];
[_appDelegate loggedIn:usernameField.text:passwordField.text:(int)[[_returnedArguments objectAtIndex:2] intValue]];
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
传递'loggedIn :::'的参数3使得整数指针没有强制转换
怎么了?
我在MySQL数据库中有一个表字段:
userid INT(11)
Run Code Online (Sandbox Code Playgroud)
所以我用这个查询将它调用到我的页面:
"SELECT userid FROM DB WHERE name='john'"
Run Code Online (Sandbox Code Playgroud)
然后为了处理结果我做:
$row=$result->fetch_assoc();
$id=$row['userid'];
Run Code Online (Sandbox Code Playgroud)
如果我这样做:
echo gettype($id);
Run Code Online (Sandbox Code Playgroud)
我得到一个字符串.这不应该是整数吗?
在 ISO/IEC 9899:2018 (C18) 中,它在 7.20.1.3 下说明:
7.20.1.3 最快的最小宽度整数类型
1 以下每种类型都指定了一个整数类型,在所有至少具有指定宽度的整数类型中,该类型通常是最快的268)。
2 typedef 名称
int_fastN_t指定宽度至少为 Nuint_fastN_t的最快有符号整数类型。 typedef 名称指定宽度至少为 N的最快无符号整数类型。3 需要以下类型:
int_fast8_t,int_fast16_t,int_fast32_t,int_fast64_t,uint_fast8_t,uint_fast16_t,uint_fast32_t,uint_fast64_t此表格的所有其他类型都是可选的。
268)不保证指定的类型在所有用途中都是最快的;如果实现没有明确的理由选择一种类型而不是另一种,它只会选择一些满足符号和宽度要求的整数类型。
但是没有说明为什么这些“快速”整数类型更快。
我用 C++ 标记了这个问题,因为在 C++17 的头文件中也可以使用快速整数类型cstdint。不幸的是,在 ISO/IEC 14882:2017 (C++17) 中没有关于它们的解释的这样的部分;我已经在问题正文中以其他方式实施了该部分。
信息:在 C 中,它们在stdint.h.
如何在C++中将整数转换为十六进制字符串?
我可以找到一些方法来实现它,但它们似乎主要针对C.似乎在C++中没有本地方法.这是一个非常简单的问题; 我有一个int我想转换为十六进制字符串以便以后打印.
以下是代码段,
int a = 1;
char b = (char) a;
System.out.println(b);
Run Code Online (Sandbox Code Playgroud)
但我得到的是空输出.
int a = '1';
char b = (char) a;
System.out.println(b);
Run Code Online (Sandbox Code Playgroud)
我将得到1作为我的输出.
有人可以解释一下吗?如果我想在第一个片段中将int转换为char,我该怎么办?
我有和旧的(ish)C#方法我写了一个数字并将其转换为任何基数:
string ConvertToBase(int number, char[] baseChars);
Run Code Online (Sandbox Code Playgroud)
它不是那么超级快速和整洁.在.NET中有没有一种很好的,已知的方法来实现这一点?
我在寻找的东西,让我使用任何基地要使用的字符的任意字符串.
这只允许碱基16,10,8和2:
Convert.ToString(1, x);
Run Code Online (Sandbox Code Playgroud)
我想利用它来利用数字,全部小写和全部大写字母来实现高基数.就像在这个线程中一样,但对于C#而不是JavaScript.
有谁知道在C#中这样做的好方法?
如何将两个32位的int数除以(int/int)返回给我0,但如果我使用Decimal.Divide()我得到正确的答案?我绝不是ac#guy.
我有一个叫做的对象Person.
它有几个属性;
int id;
String name;
Run Code Online (Sandbox Code Playgroud)
我设置了一个人物对象Person p = new Person(1,"Joe");.
1.)我需要检查对象是否为空; 以下表达式是否正确;
if (person == null){
}
Or
if(person.equals(null))
Run Code Online (Sandbox Code Playgroud)
2.)我需要知道ID是否包含Int.
if(person.getId()==null){}
Run Code Online (Sandbox Code Playgroud)
但是,java不允许它.我怎么做这个检查?