整数相乘的结果不正确
Incorrect result from a multiplication of Integer
我读取了 DICOM 图像并提取了它的一些特征,例如宽度和高度。
现在我想将图像的总像素数保存在一个变量中。
这是代码:
info = dicominfo(filename);
width = info.Width;
height = info.Height;
colorType = info.ColorType;
format = info.Format;
size = info.FileSize;
numberOfPixels = width*height;
k = info.BitDepth;
这些是印刷品:
Size: 256 x 256
Color type: grayscale
Format: DICOM
Size: 137024 bytes
NumberOfPixels: 65535
numberOfPixels
值错误。为什么?
我认为这是一个转换问题,所以我也尝试添加 uint32(width*height)
但没有,我得到 65535 而不是 65536。
为什么?
谢谢
你应该在之前施放乘法,例如uint32(width)*uint32(height)
.
我读取了 DICOM 图像并提取了它的一些特征,例如宽度和高度。 现在我想将图像的总像素数保存在一个变量中。 这是代码:
info = dicominfo(filename);
width = info.Width;
height = info.Height;
colorType = info.ColorType;
format = info.Format;
size = info.FileSize;
numberOfPixels = width*height;
k = info.BitDepth;
这些是印刷品:
Size: 256 x 256
Color type: grayscale
Format: DICOM
Size: 137024 bytes
NumberOfPixels: 65535
numberOfPixels
值错误。为什么?
我认为这是一个转换问题,所以我也尝试添加 uint32(width*height)
但没有,我得到 65535 而不是 65536。
为什么?
谢谢
你应该在之前施放乘法,例如uint32(width)*uint32(height)
.