gpt4 book ai didi

c# - parseInt 如何获取它的值

转载 作者:搜寻专家 更新时间:2023-11-01 04:47:32 29 4
gpt4 key购买 nike

parseInt('bcedfg',16)

基于这段代码,我在 JavaScript 中得到了 773855

我查看了转换表,但不确定如何获得这个“773855”值

我的问题是 parseint 如何得出这个“773855”值,因为我想将这个小代码转换成 c# 代码,并且 c# 中的任何类似方式是否允许我获得这个“773855”值

最佳答案

bcedfg 被解释为十六进制(基数:16)。然而,十六进制刻度在 f 之后翻转,因此,在 javascript 中,g 和它之后的所有内容在转换之前被删除。话虽如此,转换的工作原理如下:

decValueOfCharPosition = decValueOfChar * base ^ posFromTheRight

所以:

b = 11 * 16^4 = 11 * 65536 = 720896
c = 12 * 16^3 = 12 * 4096 = 49152
d = 13 * 16^2 = 13 * 256 = 3328
e = 14 * 16^1 = 14 * 16 = 224
f = 15 * 16^0 = 15 * 1 = 15

一旦知道每个字符位置的十进制值,只需将它们相加即可得到转换后的十进制值:

b(720896) + c(49152) + d(3328) + e(224) + f(15) = 773855

C 和它的后代在输入方面并不那么宽容。 C 没有删除第一个无效字符和后面可能跟的任何字符,而是抛出 Format Exception。 .要解决此问题以获得 javascript 功能,您必须首先删除无效字符及其后续内容,然后您可以使用:

Convert.ToInt32(input, base)

我没有包括删除无效字符的方法,因为有多种方法可以这样做,而且我对 C 的了解不足

关于c# - parseInt 如何获取它的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12996753/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com