[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:000273] int32 + bignum
���Ȥ���Ǥ�
Int32��Fixnum��Bignum�α黻��̤η��Ϥʤ���Ȼפ��ޤ���??
* ����Ĺ��û�����˹�碌�� # ���Ϥ�����Ƥޤ�
(1) IntXX[Integer[intXX] op Integer[other]] # �����
(2) IntXX[intXX op IntXX[other]] # �̤θ���
* ����Ĺ��Ĺ�����˹�碌��
int16 + 1 ��Fixint�ˤʤ�ΤǤ��줷���ʤ��Ȼפ�
* abs ��Ȥä����
(int16[0] + 2**14).type == Int16
(int16[0] + 2**15).type == Fixint # MAXINT16 == 2**15-1
�Ȥʤ�Τǥ��ڥ��ɤη���������Ƚ�Ǥ��Ĥ��ʤ�
�ʤ� Klass[] �ϥ��ȥ饯���Ǥ���
�⤷����Ĺ��û�����ˤ���ʤ�(1)��(2)�Τɤ��餬�����Ǥ���??
ξ�Ԥϥ�����å��Υ����ߥ˰㤤�����ꡢ(1)�ϱ黻���
�Τߥ����å���(2)�ϱ黻���ˤ�����å����ޤ�(®�٤ˤϤ���ۤ�
���ϽФޤ���)���㤨�� i = 2**15 �ΤȤ��� i-int16 �ε�ư����
���ޤ���(2)�ξ�硢Int16[i] �λ�����Overflow�ˤʤ�ޤ�����
(1)�ʤ� int16 < 1 �ΤȤ���Overflow�Ǥ����ɤ��餫�ȸ�����(1)
��Fortran��C�˻��Ƥ�ȸ����뤫���Τ�ޤ���
-- gotoken