#Matlab, 99 Bytes function c=z(b) c=0;b=strsplit(dec2bin(b),'0');for j=1:numel(b)-isempty(b{end});c=c+i^nnz(b{j});end
Matlab, 99 Bytes
function c=z(b)
c=0;b=strsplit(dec2bin(b),'0');for j=1:numel(b)-isempty(b{end});c=c+i^nnz(b{j});end
Test cases:
z(656) = 3i
z(172) = -1 + 2i
z(707) = -2 + i
z(32) = i
z(277) = 4i
#Matlab, 99 Bytes function c=z(b) c=0;b=strsplit(dec2bin(b),'0');for j=1:numel(b)-isempty(b{end});c=c+i^nnz(b{j});end
Test cases:
z(656) = 3i
z(172) = -1 + 2i
z(707) = -2 + i
z(32) = i
z(277) = 4i
Matlab, 99 Bytes
function c=z(b)
c=0;b=strsplit(dec2bin(b),'0');for j=1:numel(b)-isempty(b{end});c=c+i^nnz(b{j});end
Test cases:
z(656) = 3i
z(172) = -1 + 2i
z(707) = -2 + i
z(32) = i
z(277) = 4i
#Matlab, 99 Bytes function c=z(b) c=0;b=strsplit(dec2bin(b),'0');for j=1:numel(b)-isempty(b{end});c=c+i^nnz(b{j});end
Test cases:
z(656) = 3i
z(172) = -1 + 2i
z(707) = -2 + i
z(32) = i
z(277) = 4i