⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _small_power.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
📖 第 1 页 / 共 3 页
字号:
#ifndef lintstatic  char sccsid[] = "@(#)_small_power.c 1.1 92/07/30 SMI";#endif/* * Copyright (c) 1988 by Sun Microsystems, Inc. */#include "base_conversion.h" unsigned short  _max_tiny_powers_ten = 4;unsigned short  _tiny_powers_ten[] = {1,	/* begin powers of 10 in						 * base 65536 */	 /* 10**1 =  */ 10,	/* * 65536**0 */	 /* 10**2 =  */ 100,	/* * 65536**1 */	 /* 10**3 =  */ 1000,	/* * 65536**1 */0 } ;unsigned short  _start_tiny_powers_ten[] = {	0, 1, 2, 3, 4,0};				/* end _start_tiny_powers_ten */unsigned short  _leading_zeros_tiny_powers_ten[] = {	0, 0, 0, 0,0};				/* end _leading_zeros_tiny_powers_ten */unsigned short  _max_tiny_powers_two = 16;unsigned short  _tiny_powers_two[] = {1,	/* begin powers of 2 in						 * base 10000 */	 /* 2**1 =  */ 2,	/* * 10000**0 */	 /* 2**2 =  */ 4,	/* * 10000**0 */	 /* 2**3 =  */ 8,	/* * 10000**0 */	 /* 2**4 =  */ 16,	/* * 10000**0 */	 /* 2**5 =  */ 32,	/* * 10000**0 */	 /* 2**6 =  */ 64,	/* * 10000**0 */	 /* 2**7 =  */ 128,	/* * 10000**0 */	 /* 2**8 =  */ 256,	/* * 10000**0 */	 /* 2**9 =  */ 512,	/* * 10000**0 */	 /* 2**10 =  */ 1024,	/* * 10000**0 */	 /* 2**11 =  */ 2048,	/* * 10000**0 */	 /* 2**12 =  */ 4096,	/* * 10000**0 */	 /* 2**13 =  */ 8192,	/* * 10000**0 */	 /* 2**14 =  */ 6384, 1,	/* * 10000**1 */	 /* 2**15 =  */ 2768, 3,	/* * 10000**1 */0};unsigned short  _start_tiny_powers_two[] = {	0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18,0};				/* end _start_tiny_powers_two */unsigned short  _max_small_powers_ten = 90;unsigned short  _small_powers_ten[] = {1,	/* begin powers of 10000 in						 * base 65536 */	 /* 10000**1 =  */ 10000,	/* * 65536**0 */	 /* 10000**2 =  */ 57600, 1525,	/* * 65536**1 */	 /* 10000**3 =  */ 4096, 54437, 232,	/* * 65536**2 */	 /* 10000**4 =  65536**1 *  */ 28609, 34546, 35,	/* * 65536**3 */	 /* 10000**5 =  65536**1 *  */ 25360, 24109, 27591, 5,	/* * 65536**4 */	 /* 10000**6 =  65536**1 *  */ 41216, 52461, 7118, 54210,	/* * 65536**4 */	 /* 10000**7 =  65536**1 *  */ 4096, 609, 15909, 52830, 8271,	/* * 65536**5 */	 /* 10000**8 =  65536**2 *  */ 61313, 34220, 16731, 11629, 1262,	/* * 65536**6 */	 /* 10000**9 =  65536**2 *  */ 40720, 45899, 1813, 31689, 38862, 192,	/* * 65536**7 */	 /* 10000**10 =  65536**2 *  */ 24832, 47605, 49067, 23716, 61891, 25385, 29,	/* * 65536**8 */	 /* 10000**11 =  65536**2 *  */ 4096, 285, 9232, 58239, 57170, 38515, 31729, 4,	/* * 65536**9 */	 /* 10000**12 =  65536**3 *  */ 32577, 45355, 38512, 38358, 3651, 36101, 44841,	/* * 65536**9 */	 /* 10000**13 =  65536**3 *  */ 56080, 45850, 37384, 3668, 12301, 38269, 18196, 6842,	/* * 65536**10 */	 /* 10000**14 =  65536**3 *  */ 8448, 18701, 29652, 51080, 65023, 27172, 37903, 3192,	1044,			/* * 65536**11 */	 /* 10000**15 =  65536**3 *  */ 4096, 37081, 37989, 16940, 55138, 17665, 39458, 9751,	20263, 159,		/* * 65536**12 */	 /* 10000**16 =  65536**4 *  */ 7937, 49002, 60772, 28216, 38893, 55975, 63988, 59711,	20227, 24,		/* * 65536**13 */	 /* 10000**17 =  65536**4 *  */ 5904, 8539, 12149, 36793, 43681, 12958, 60573, 21267,	35015, 46478, 3,	/* * 65536**14 */	 /* 10000**18 =  65536**4 *  */ 57600, 63028, 53094, 12749, 18174, 21993, 48265, 14922,	59933, 4030, 37092,	/* * 65536**14 */	 /* 10000**19 =  65536**4 *  */ 4096, 29077, 42481, 30581, 10617, 59493, 46251, 1892,	5557, 4505, 52391, 5659,/* * 65536**15 */	 /* 10000**20 =  65536**5 *  */ 52929, 10084, 25506, 6346, 61348, 31525, 52689, 61296,	27615, 15903, 40426, 863,	/* * 65536**16 */	 /* 10000**21 =  65536**5 *  */ 21264, 53708, 60962, 25043, 64008, 31200, 50906, 9831,	56185, 43877, 36378, 50952, 131,	/* * 65536**17 */	 /* 10000**22 =  65536**5 *  */ 41216, 15724, 12323, 26246, 59245, 58406, 46648, 13767,	11372, 15053, 61895, 48686, 7054, 20,	/* * 65536**18 */	 /* 10000**23 =  65536**5 *  */ 4096, 25425, 24719, 55736, 8564, 12208, 3664, 51518,	17140, 61079, 30312, 2500, 30693, 4468, 3,	/* * 65536**19 */	 /* 10000**24 =  65536**6 *  */ 36481, 57623, 45627, 58488, 53274, 7238, 2063, 31221,	62631, 25319, 35409, 25293, 54667, 30681,	/* * 65536**19 */	 /* 10000**25 =  65536**6 *  */ 36624, 43054, 17160, 43698, 6780, 36385, 52800, 62346,	52747, 33988, 2855, 31979, 38083, 44325, 4681,	/* * 65536**20 */	 /* 10000**26 =  65536**6 *  */ 24832, 39604, 33321, 54106, 42443, 60698, 47535, 24088,	45785, 18352, 47026, 40291, 5183, 35843, 24059, 714,	/* * 65536**21 */	 /* 10000**27 =  65536**6 *  */ 4096, 9741, 31019, 65404, 27119, 57580, 26653, 42453,	19179, 26186, 42000, 1847, 62708, 14406, 12813, 247,	109,			/* * 65536**22 */	 /* 10000**28 =  65536**7 *  */ 24129, 9598, 60989, 12011, 4842, 3874, 57395, 38141,	46606, 49307, 60792, 31833, 21440, 9318, 47123, 41461,	16,			/* * 65536**23 */	 /* 10000**29 =  65536**7 *  */ 51984, 38977, 13448, 57354, 56264, 8962, 51839, 64773,	39323, 49783, 15587, 30924, 36601, 56615, 27581, 36454,	35254, 2,		/* * 65536**24 */	 /* 10000**30 =  65536**7 *  */ 8448, 35340, 6075, 36516, 22191, 40873, 1607, 45622,	23883, 24544, 32988, 43530, 61694, 55616, 43150, 32976,	27418, 25379,		/* * 65536**24 */	 /* 10000**31 =  65536**7 *  */ 4096, 31177, 3520, 59871, 10675, 50890, 19916, 24149,	23777, 11324, 41057, 14921, 56274, 30917, 19462, 54968,	47943, 38791, 3872,	/* * 65536**25 */	 /* 10000**32 =  65536**8 *  */ 15873, 11925, 39177, 991, 14589, 3861, 58415, 9076,	62956, 54223, 56328, 50180, 45274, 48333, 32537, 42547,	9731, 59679, 590,	/* * 65536**26 */	 /* 10000**33 =  65536**8 *  */ 1808, 42438, 63147, 20041, 7015, 11522, 28221, 1553,	22569, 60278, 6353, 64979, 24968, 8908, 56671, 15252,	61068, 20668, 10866, 90,/* * 65536**27 */	 /* 10000**34 =  65536**8 *  */ 57600, 34675, 37115, 10547, 29538, 8782, 13742, 2274,	49789, 48851, 34813, 1529, 63291, 20385, 21567, 26375,	17879, 54310, 4465, 49690, 13,	/* * 65536**28 */	 /* 10000**35 =  65536**8 *  */ 4096, 7813, 24923, 28239, 10857, 6267, 57884, 1104,	13355, 12253, 10222, 25424, 29081, 42697, 59670, 36426,	11816, 5896, 28271, 6729, 6510, 2,	/* * 65536**29 */	 /* 10000**36 =  65536**9 *  */ 11713, 63320, 64714, 46692, 19240, 27004, 38784, 53336,	45253, 51245, 27415, 30647, 7397, 1235, 20017, 4150,	44939, 54131, 54377, 23778, 20993,	/* * 65536**29 */	 /* 10000**37 =  65536**9 *  */ 17168, 58491, 47197, 51410, 58964, 34615, 2072, 33950,	12058, 30921, 20731, 27847, 50068, 30360, 23244, 18766,	10281, 55033, 26067, 23689, 21820, 3203,	/* * 65536**30 */	 /* 10000**38 =  65536**9 *  */ 41216, 3819, 54189, 42817, 20452, 63381, 15905, 23836,	64476, 12991, 24350, 10699, 54745, 44887, 53976, 33978,	52415, 25776, 41725, 46873, 34270, 51761, 488,	/* * 65536**31 */	 /* 10000**39 =  65536**9 *  */ 4096, 54337, 38934, 31580, 54213, 14464, 3799, 7995,	20469, 27486, 35742, 38963, 29424, 22289, 12353, 49612,	63792, 14909, 51757, 22894, 19408, 11901, 38234, 74,	/* * 65536**32 */	 /* 10000**40 =  65536**10 *  */ 11649, 64451, 53492, 21026, 10320, 46863, 62195, 22291,	5139, 56386, 23933, 54841, 6553, 63577, 14364, 146,	5334, 34483, 30649, 31397, 65121, 4791, 24938, 11,	/* * 65536**33 */	 /* 10000**41 =  65536**10 *  */ 32528, 30753, 25002, 28674, 49544, 49174, 20510, 31554,	13177, 54576, 1131, 8404, 2368, 6264, 60325, 20399,	59254, 45917, 48925, 57236, 49094, 13120, 16251, 48269,	1,			/* * 65536**34 */	 /* 10000**42 =  65536**10 *  */ 24832, 40051, 4852, 23815, 57751, 30951, 45359, 52825,	47454, 43738, 46135, 23020, 22786, 53481, 57611, 51172,	32136, 33825, 30766, 41577, 18557, 4419, 48258, 19839,	17365,			/* * 65536**34 */	 /* 10000**43 =  65536**10 *  */ 4096, 23293, 29471, 58452, 10401, 57820, 20066, 36761,	1884, 65513, 48769, 44607, 60376, 39716, 56720, 23702,	44800, 23607, 39177, 14310, 43928, 21567, 39106, 19891,	48163, 2649,		/* * 65536**35 */	 /* 10000**44 =  65536**11 *  */ 15681, 63698, 8912, 13287, 42995, 63126, 21637, 36777,	32431, 46620, 39425, 49174, 21052, 57516, 50478, 65056,	16163, 64930, 40889, 59911, 63262, 9978, 14207, 8971,	20805, 404,		/* * 65536**36 */	 /* 10000**45 =  65536**11 *  */ 47888, 38008, 759, 29888, 35867, 23808, 45296, 50805,	43483, 47380, 58073, 29407, 25871, 19276, 30504, 57366,	28150, 37314, 20803, 51663, 10133, 43861, 55010, 58919,	40104, 45478, 61,	/* * 65536**37 */	 /* 10000**46 =  65536**11 *  */ 8448, 44043, 59159, 35955, 61568, 58720, 44336, 21839,	6392, 46891, 22733, 18829, 43895, 22571, 38397, 28046,	31633, 47847, 24429, 12886, 19227, 44634, 63044, 29753,	34206, 31815, 27115, 9,	/* * 65536**38 */	 /* 10000**47 =  65536**11 *  */ 4096, 29369, 3248, 28531, 40302, 6834, 17920, 30813,	25732, 895, 58307, 8540, 58281, 10713, 63556, 37314,	57543, 62026, 44628, 19951, 54878, 42773, 56026, 6179,	32156, 43475, 32422, 28601, 1,	/* * 65536**39 */	 /* 10000**48 =  65536**12 *  */ 23809, 44161, 32287, 43489, 57637, 25618, 47998, 30365,	41030, 61880, 15488, 65191, 53068, 59042, 53249, 29613,	36076, 54840, 25225, 50116, 50437, 64798, 63636, 41326,	54618, 20041, 15843, 14364,	/* * 65536**39 */	 /* 10000**49 =  65536**12 *  */ 63248, 32064, 46402, 63566, 53051, 8570, 63781, 29035,	49273, 15348, 27874, 25771, 44955, 14273, 19009, 46477,	54374, 256, 10304, 10057, 12591, 33264, 15327, 65230,	9281, 9246, 32546, 53041, 2191,	/* * 65536**40 */	 /* 10000**50 =  65536**12 *  */ 57600, 47538, 30012, 33416, 5779, 52543, 14955, 35252,	34782, 2206, 17734, 26701, 42508, 64987, 37777, 57124,	60435, 12392, 17447, 39348, 16878, 46721, 51907, 22530,	20977, 55656, 9634, 32118, 29069, 334,	/* * 65536**41 */	 /* 10000**51 =  65536**12 *  */ 4096, 56181, 37909, 62051, 57882, 28769, 4865, 4138,	25827, 45211, 65456, 19041, 17578, 21510, 30412, 33988,	51260, 645, 15059, 4518, 30804, 6431, 32009, 60688,	58237, 31488, 10572, 55070, 42740, 2099, 51,	/* * 65536**42 */	 /* 10000**52 =  65536**13 *  */ 36033, 38348, 20936, 15516, 61328, 26677, 27526, 58791,	46612, 58866, 37907, 15353, 13530, 36242, 14944, 48130,	35293, 53906, 27993, 21489, 23884, 13157, 21524, 26364,	53942, 15236, 2605, 48147, 25001, 51568, 7,	/* * 65536**43 */	 /* 10000**53 =  65536**13 *  */ 13072, 34362, 43867, 39482, 62015, 47837, 12870, 56280,	36938, 22760, 18758, 50472, 36038, 7984, 23450, 5896,	25984, 31785, 33969, 1727, 30095, 42892, 21783, 57492,	62742, 62566, 34532, 42941, 63042, 46566, 12332, 1,	/* * 65536**44 */	 /* 10000**54 =  65536**13 *  */ 41216, 16746, 42795, 37829, 54392, 32198, 60131, 44331,	27691, 64644, 19440, 30126, 5237, 22651, 13410, 46714,	56195, 4364, 21762, 39215, 8951, 57008, 60416, 41531,	52644, 62917, 20362, 23397, 35768, 36339, 53889, 11881,	/* * 65536**44 */	 /* 10000**55 =  65536**13 *  */ 4096, 21809, 2475, 22738, 42508, 9931, 22113, 33671,	27164, 62657, 30087, 59510, 11332, 18383, 16800, 1438,	51464, 1598, 41146, 51432, 59343, 49237, 57850, 17586,	61185, 32432, 9248, 9587, 53618, 63873, 58552, 1454,	1813,			/* * 65536**45 */	 /* 10000**56 =  65536**14 *  */ 52353, 46255, 35993, 16973, 29446, 13051, 54942, 63953,	49984, 3784, 37711, 17336, 3249, 34037, 30179, 51547,	62604, 25235, 65286, 9367, 7087, 21241, 35739, 8587,	57208, 13652, 57779, 31446, 24325, 31122, 65478, 42285,	276,			/* * 65536**46 */	 /* 10000**57 =  65536**14 *  */ 28432, 4900, 13346, 62788, 9341, 32317, 33703, 38095,	6686, 33355, 16433, 23034, 52325, 42047, 1913, 33965,	47993, 45952, 59754, 29017, 27013, 8905, 25433, 23293,	17566, 17241, 26707, 27088, 50702, 58783, 14572, 21719,	13940, 42,		/* * 65536**47 */	 /* 10000**58 =  65536**14 *  */ 24832, 48946, 29451, 47156, 30780, 13409, 48819, 59910,	19092, 38316, 36337, 49003, 14090, 64544, 65439, 42739,	15054, 54427, 55299, 51245, 60571, 56233, 51678, 18936,	27074, 53000, 13430, 23787, 37637, 45352, 42441, 5919,	8242, 28911, 6,		/* * 65536**48 */	 /* 10000**59 =  65536**14 *  */ 4096, 40941, 64220, 32973, 50139, 8040, 14382, 42873,	22773, 39457, 44262, 22872, 5077, 43622, 22888, 39729,	10329, 61353, 5536, 32454, 34107, 40362, 37220, 34381,	13673, 14499, 24823, 41905, 381, 16623, 5784, 17468,	42151, 31961, 64411,	/* * 65536**48 */	 /* 10000**60 =  65536**15 *  */ 7233, 18983, 28183, 44631, 60514, 35242, 61218, 64477,	46754, 61412, 6113, 48626, 13158, 34944, 14260, 11326,	49080, 56977, 6572, 25608, 54516, 27214, 13823, 27150,	26454, 47380, 16603, 15306, 30762, 39784, 27442, 50649,	62895, 27068, 9828,	/* * 65536**49 */	 /* 10000**61 =  65536**15 *  */ 43792, 38847, 28096, 14140, 52922, 42161, 13601, 36173,	16014, 54814, 59818, 49348, 56667, 4055, 64532, 15967,	2624, 7505, 61622, 31850, 35459, 42846, 18728, 51997,	40846, 44292, 34541, 35973, 61887, 41173, 26838, 31979,	8736, 25917, 45666, 1499,	/* * 65536**50 */	 /* 10000**62 =  65536**15 *  */ 8448, 44810, 13095, 43135, 18957, 24987, 29233, 38891,	41071, 64875, 41291, 3047, 53274, 57398, 53162, 34150,	28036, 11680, 51673, 4442, 45100, 56578, 50185, 10233,	47582, 33944, 42038, 8166, 19041, 42291, 16362, 43951,	5391, 41989, 9106, 54760, 228,	/* * 65536**51 */	 /* 10000**63 =  65536**15 *  */ 4096, 31657, 15909, 59582, 46469, 49660, 43252, 23836,	1822, 15403, 43099, 2060, 63857, 23840, 726, 16,	2203, 19126, 45958, 60012, 47461, 14593, 49481, 35961,	30201, 36316, 37275, 8558, 29166, 9097, 48597, 28080,	46114, 1670, 36903, 48109, 60131, 34,	/* * 65536**52 */	 /* 10000**64 =  65536**16 *  */ 31745, 38958, 34651, 48851, 40818, 55513, 12167, 4629,	20678, 27614, 28272, 53066, 55311, 54677, 29038, 9906,	26288, 44486, 13860, 7445, 54106, 15426, 21518, 25599,	29632, 52309, 61207, 26105, 10482, 21948, 51191, 32988,	60892, 62574, 61390, 24540, 21495, 5,	/* * 65536**53 */	 /* 10000**65 =  65536**16 *  */ 59152, 38859, 27112, 9943, 29246, 46308, 43654, 23440,	14626, 39987, 1909, 19322, 59793, 11591, 63863, 39534,	16615, 5643, 63684, 3218, 61456, 62047, 27665, 9667,	35650, 51705, 37277, 29451, 31919, 1535, 11653, 45123,	30057, 11563, 33836, 42583, 61200, 53279,	/* * 65536**53 */	 /* 10000**66 =  65536**16 *  */ 57600, 36081, 3497, 16025, 39885, 7086, 11770, 49925,	52760, 37095, 25125, 20163, 48020, 51475, 48984, 36592,	22272, 6039, 27549, 11541, 29419, 50065, 32011, 8621,	51171, 41935, 9121, 62440, 34173, 19446, 7226, 16418,	28789, 29082, 64932, 47770, 31329, 57194, 8129,	/* * 65536**54 */	 /* 10000**67 =  65536**16 *  */ 4096, 43109, 44817, 15013, 349, 21670, 63961, 64083,	42817, 24290, 56172, 45097, 20804, 37583, 31790, 39986,	34255, 34742, 43113, 5307, 657, 24985, 39815, 35044,	6227, 58480, 55822, 39919, 34823, 19902, 42295, 13422,	58393, 41160, 59285, 18003, 35209, 12108, 34087, 1240,	/* * 65536**55 */	 /* 10000**68 =  65536**17 *  */ 60353, 41409, 59398, 18882, 38037, 47482, 28751, 33090,	30117, 14650, 25355, 35617, 49750, 56134, 29714, 64965,	18890, 39493, 57954, 17209, 26868, 22612, 25083, 16147,	23222, 58811, 18741, 43323, 58017, 49228, 8725, 6288,	42830, 17624, 11654, 33355, 40380, 19111, 18897, 189,	/* * 65536**56 */	 /* 10000**69 =  65536**17 *  */ 8976, 42761, 33550, 19847, 1937, 17484, 10813, 13123,	37129, 31635, 58987, 51244, 21658, 31751, 8341, 61702,	35160, 12946, 11178, 1307, 50562, 24899, 27178, 58659,	28415, 59015, 51549, 39899, 51938, 47956, 29095, 32307,	23199, 20231, 19681, 39074, 37793, 13185, 32628, 57875,	28,			/* * 65536**57 */	 /* 10000**70 =  65536**17 *  */ 41216, 54505, 27740, 32111, 39908, 55783, 63803, 28577,	30562, 13393, 50827, 23016, 56875, 56920, 53052, 65368,	8774, 31765, 43095, 30041, 9959, 26451, 6007, 46947,	60390, 2655, 58365, 14697, 13288, 41013, 43013, 47495,	63025, 3907, 8479, 17371, 55386, 62870, 43803, 6562,	26687, 4,		/* * 65536**58 */	 /* 10000**71 =  65536**17 *  */ 4096, 58913, 59964, 53368, 36195, 59193, 45551, 42775,	29992, 44615, 40363, 5323, 32104, 28518, 14765, 32031,	62806, 63882, 55646, 65087, 45399, 8223, 43060, 36548,	58459, 17134, 52325, 47193, 40770, 7739, 23490, 17171,	63071, 20160, 52548, 40893, 17914, 21603, 62505, 25147,	8409, 44072,		/* * 65536**58 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -