sizeinbytes.m
来自「地震中常用的一些偏移程序」· M 代码 · 共 24 行
M
24 行
function bytes=sizeinbytes(thing)
klass=class(thing);
bytes=8*prod(size(thing));%default size
if(strcmp(klass,'char'))
bytes=2*prod(size(thing));
elseif(strcmp(klass,'int8')|strcmp(klass,'uint8'))
bytes=prod(size('thing'));
elseif(strcmp(klass,'uint16')|strcmp(klass,'int16'))
bytes=2*prod(size(thing));
elseif(strcmp(klass,'int32')|strcmp(klass,'uint32'))
bytes=4*prod(size(thing));
elseif(strcmp(klass,'struct'))
[l,m]=size(thing);
names=fieldnames(thing);
numnames=size(names,1);
bytes=0;
for k=1:numnames
bytes=bytes+sizeinbytes(getfield(thing,char(names(k,:))));
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?