Převod desetinného čísla do dvojkové soustavy – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Převod desetinného čísla do dvojkové soustavy – Java – Fórum – Programujte.comPřevod desetinného čísla do dvojkové soustavy – Java – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
MaxDJs0
Návštěvník
12. 10. 2012   #1
-
0
-

   

package prevodCisla;


public class prevodCisla {
  public static double[] rozdeleniCisla(final double cislo){
      int celaCast = (int)cislo;
      double zbytek = cislo - celaCast;
     
      double[] rozdeleneCislo = new double[2];
      rozdeleneCislo[1] = 0;
      rozdeleneCislo[0] = celaCast;
      rozdeleneCislo[1] = zbytek;
     
      return rozdeleneCislo;
  }
 
  public static String prevodCisla(final double cislo, final int soustava){
      if(soustava<2 || soustava>36) {
          throw new IllegalArgumentException("Neplatna soustava"+soustava);
      }
      String vysledek = "";
      double cisloPoRozdeleni[] = rozdeleniCisla(cislo);
     
      if(cisloPoRozdeleni[1] == 0){
//cele cislo
       while(cisloPoRozdeleni[0] != 0){
           (int)double zbytekPoDeleni = cisloPoRozdeleni[0] % soustava;
           cisloPoRozdeleni[0] = cisloPoRozdeleni[0]/soustava;
           vysledek = vysledek+zbytekPoDeleni;
       }  
      }
      else{
//desetinne cislo
        String vysledek1="";
        String vysledek2="";
        while(cisloPoRozdeleni[0] != 0){
            //prevod cele casti
           double zbytekPoDeleni = cisloPoRozdeleni[0] % soustava;
           cisloPoRozdeleni[0] = cisloPoRozdeleni[0]/soustava;
           vysledek1 = vysledek+zbytekPoDeleni;
       } 
        //prevod desetinne casti
        for (int i = 0; i < 10; i++) {
        while(cisloPoRozdeleni[1] != 0){
           
                double meziVysledek = cisloPoRozdeleni[1]*2;
                double rozdelenyMeziVysledek[] =  rozdeleniCisla(meziVysledek);
                vysledek2 = vysledek2+rozdelenyMeziVysledek[0];
                cisloPoRozdeleni[1] = rozdelenyMeziVysledek[1];
        
       }
      }
        vysledek = vysledek1+"."+vysledek2;
      }
     
      return vysledek;
  }
 
    public static void main(String[] args) {
      String vysledek;
        vysledek = prevodCisla(10,2);
        System.out.println("Vysledek="+vysledek);
    }
}

Mohl by mi někdo jen tak zběžně říci, jestli mám ten skript správně, jde mi hlavně o tu část, kde se převádí desetinné číslo, protože tam si nejsem úplně jistý správností algoritmu?

Díky moc za odpověď

Nahlásit jako SPAM
IP: 147.32.104.–
KIIV
~ Moderátor
+43
God of flame
12. 10. 2012   #2
-
0
-

#1 MaxDJs
hrozi jen riziko ze se to zacykli, kdyz nepujde prevod bezezbytku ..

Nahlásit jako SPAM
IP: 62.216.147.–
Program vždy dělá to co naprogramujete, ne to co chcete...
MaxDJs0
Návštěvník
12. 10. 2012   #3
-
0
-

Tak program spustím bez problémů, ale jako výsledek převodu čísla 10 do dvojkové soustavy se mi zobrazí místo 1010 tenhle 0.01.00.51.250.6250.31250.156250.0781250.03906250.019531250.0097656250.00488281250.002441406250.0012207031256.103515625E-43.0517578125E-41.52587890625E-47.62939453125E-53.814697265625E-51.9073486328125E-59.5367431640625E-64.76837158203125E-62.384185791015625E-61.1920928955078125E-65.960464477539062E-72.980232238769531E-71.4901161193847656E-77.450580596923828E-83.725290298461914E-81.862645149230957E-89.313225746154785E-94.6566128730773926E-92.3283064365386963E-91.1641532182693481E-95.820766091346741E-102.9103830456733704E-101.4551915228366852E-107.275957614183426E-113.637978807091713E-111.8189894035458565E-119.094947017729282E-124.547473508864641E-122.2737367544323206E-121.1368683772161603E-125.684341886080801E-132.8421709430404007E-131.4210854715202004E-137.105427357601002E-143.552713678800501E-141.7763568394002505E-148.881784197001252E-154.440892098500626E-152.220446049250313E-151.1102230246251565E-155.551115123125783E-162.7755575615628914E-161.3877787807814457E-166.938893903907228E-173.469446951953614E-171.734723475976807E-178.673617379884035E-184.336808689942018E-182.168404344971009E-181.0842021724855044E-185.421010862427522E-192.710505431213761E-191.3552527156068805E-196.776263578034403E-203.3881317890172014E-201.6940658945086007E-208.470329472543003E-214.235164736271502E-212.117582368135751E-211.0587911840678754E-215.293955920339377E-222.6469779601696886E-221.3234889800848443E-226.617444900424221E-233.3087224502121107E-231.6543612251060553E-238.271806125530277E-244.1359030627651384E-242.0679515313825692E-241.0339757656912846E-245.169878828456423E-252.5849394142282115E-251.2924697071141057E-256.462348535570529E-263.2311742677852644E-261.6155871338926322E-268.077935669463161E-274.0389678347315804E-272.0194839173657902E-271.0097419586828951E-275.048709793414476E-282.524354896707238E-281.262177448353619E-286.310887241768094E-293.155443620884047E-291.5777218104420236E-297.888609052210118E-303.944304526105059E-301.9721522630525295E-309.860761315262648E-314.930380657631324E-312.465190328815662E-311.232595164407831E-316.162975822039155E-323.0814879110195774E-321.5407439555097887E-327.703719777548943E-333.851859888774472E-331.925929944387236E-339.62964972193618E-344.81482486096809E-342.407412430484045E-341.2037062152420224E-346.018531076210112E-353.009265538105056E-351.504632769052528E-357.52316384526264E-363.76158192263132E-361.88079096131566E-369.4039548065783E-374.70197740328915E-372.350988701644575E-371.1754943508222875E-375.877471754111438E-382.938735877055719E-381.4693679385278594E-387.346839692639297E-393.6734198463196485E-391.8367099231598242E-399.183549615799121E-404.5917748078995606E-402.2958874039497803E-401.1479437019748901E-405.739718509874451E-412.8698592549372254E-411.4349296274686127E-417.174648137343063E-423.587324068671532E-421.793662034335766E-428.96831017167883E-434.484155085839415E-432.2420775429197073E-431.1210387714598537E-435.605193857299268E-442.802596928649634E-441.401298464324817E-447.006492321624085E-453.5032461608120427E-451.7516230804060213E-458.758115402030107E-464.379057701015053E-462.1895288505075267E-461.0947644252537633E-465.473822126268817E-472.7369110631344083E-471.3684555315672042E-476.842277657836021E-483.4211388289180104E-481.7105694144590052E-488.552847072295026E-494.276423536147513E-492.1382117680737565E-491.0691058840368783E-495.345529420184391E-502.6727647100921956E-501.3363823550460978E-506.681911775230489E-513.3409558876152446E-511.6704779438076223E-518.352389719038111E-524.176194859519056E-522.088097429759528E-521.044048714879764E-525.22024357439882E-532.61012178719941E-531.305060893599705E-536.525304467998525E-543.262652233999262E-541.631326116999631E-548.156630584998156E-554.078315292499078E-552.039157646249539E-551.0195788231247695E-555.097894115623847E-562.5489470578119236E-561.2744735289059618E-566.372367644529809E-573.1861838222649046E-571.5930919111324523E-577.965459555662261E-583.982729777831131E-581.9913648889155653E-589.956824444577827E-594.978412222288913E-592.4892061111444567E-591.2446030555722283E-596.223015277861142E-603.111507638930571E-601.5557538194652854E-607.778769097326427E-613.8893845486632136E-611.9446922743316068E-619.723461371658034E-624.861730685829017E-622.4308653429145085E-621.2154326714572542E-626.077163357286271E-633.0385816786431356E-631.5192908393215678E-637.596454196607839E-643.7982270983039195E-641.8991135491519597E-649.495567745759799E-654.747783872879899E-652.3738919364399497E-651.1869459682199748E-655.934729841099874E-662.967364920549937E-661.4836824602749686E-667.418412301374843E-673.7092061506874214E-671.8546030753437107E-679.273015376718553E-684.636507688359277E-682.3182538441796384E-681.1591269220898192E-685.795634610449096E-692.897817305224548E-691.448908652612274E-697.24454326306137E-703.622271631530685E-701.8111358157653425E-709.055679078826712E-714.527839539413356E-712.263919769706678E-711.131959884853339E-715.659799424266695E-722.8298997121333476E-721.4149498560666738E-727.074749280333369E-733.5373746401666845E-731.7686873200833423E-738.843436600416711E-744.421718300208356E-742.210859150104178E-741.105429575052089E-745.527147875260445E-752.7635739376302223E-751.3817869688151111E-756.908934844075556E-763.454467422037778E-761.727233711018889E-768.636168555094445E-774.318084277547222E-772.159042138773611E-771.0795210693868056E-775.397605346934028E-782.698802673467014E-781.349401336733507E-786.747006683667535E-793.3735033418337674E-791.6867516709168837E-798.433758354584419E-804.216879177292209E-802.1084395886461046E-801.0542197943230523E-805.271098971615262E-812.635549485807631E-811.3177747429038154E-816.588873714519077E-823.2944368572595385E-821.6472184286297693E-828.236092143148846E-834.118046071574423E-832.0590230357872116E-831.0295115178936058E-835.147557589468029E-842.5737787947340145E-841.2868893973670072E-846.434446986835036E-853.217223493417518E-851.608611746708759E-858.043058733543795E-864.0215293667718976E-862.0107646833859488E-861.0053823416929744E-865.026911708464872E-872.513455854232436E-871.256727927116218E-876.28363963558109E-883.141819817790545E-881.5709099088952725E-887.854549544476362E-893.927274772238181E-891.9636373861190906E-899.818186930595453E-904.9090934652977266E-902.4545467326488633E-901.2272733663244316E-906.136366831622158E-913.068183415811079E-911.5340917079055395E-917.670458539527698E-923.835229269763849E-921.9176146348819244E-929.588073174409622E-934.794036587204811E-932.3970182936024055E-931.1985091468012028E-935.992545734006014E-942.996272867003007E-941.4981364335015035E-947.490682167507517E-953.7453410837537587E-951.8726705418768793E-959.363352709384397E-964.681676354692198E-962.340838177346099E-961.1704190886730496E-965.852095443365248E-972.926047721682624E-971.463023860841312E-977.31511930420656E-983.65755965210328E-981.82877982605164E-989.1438991302582E-994.5719495651291E-992.28597478256455E-991.142987391282275E-995.714936956411375E-1002.8574684782056875E-1001.4287342391028437E-1007.143671195514219E-1013.5718355977571093E-1011.7859177988785547E-1018.929588994392773E-1024.464794497196387E-1022.2323972485981933E-1021.1161986242990967E-1025.580993121495483E-1032.7904965607477417E-1031.3952482803738708E-1036.976241401869354E-1043.488120700934677E-1041.7440603504673385E-1048.720301752336693E-1054.360150876168346E-1052.180075438084173E-1051.0900377190420866E-1055.450188595210433E-1062.7250942976052165E-1061.3625471488026082E-1066.812735744013041E-1073.4063678720065206E-1071.7031839360032603E-1078.515919680016301E-1084.257959840008151E-1082.1289799200040754E-1081.0644899600020377E-1085.322449800010188E-1092.661224900005094E-1091.330612450002547E-1096.653062250012735E-1103.326531125006368E-1101.663265562503184E-1108.31632781251592E-1114.15816390625796E-1112.07908195312898E-1111.03954097656449E-1115.19770488282245E-1122.598852441411225E-1121.2994262207056124E-1126.497131103528062E-1133.248565551764031E-1131.6242827758820155E-1138.121413879410078E-1144.060706939705039E-1142.0303534698525194E-1141.0151767349262597E-1145.075883674631298E-1152.537941837315649E-1151.2689709186578246E-1156.344854593289123E-1163.1724272966445615E-1161.5862136483222808E-1167.931068241611404E-1173.965534120805702E-1171.982767060402851E-1179.913835302014255E-1184.956917651007127E-1182.4784588255035637E-1181.2392294127517818E-1186.196147063758909E-1193.0980735318794546E-1191.5490367659397273E-1197.745183829698637E-1203.872591914849318E-1201.936295957424659E-1209.681479787123296E-1214.840739893561648E-1212.420369946780824E-1211.210184973390412E-1216.05092486695206E-1223.02546243347603E-1221.512731216738015E-1227.563656083690075E-1233.7818280418450374E-1231.8909140209225187E-1239.454570104612593E-1244.727285052306297E-1242.3636425261531484E-1241.1818212630765742E-1245.909106315382871E-1252.9545531576914354E-1251.4772765788457177E-1257.386382894228589E-1263.693191447114294E-1261.846595723557147E-1269.232978617785736E-1274.616489308892868E-1272.308244654446434E-1271.154122327223217E-1275.770611636116085E-1282.8853058180580424E-1281.4426529090290212E-1287.213264545145106E-1293.606632272572553E-1291.8033161362862765E-1299.016580681431383E-1304.508290340715691E-1302.2541451703578456E-1301.1270725851789228E-1305.635362925894614E-1312.817681462947307E-1311.4088407314736535E-1317.044203657368268E-1323.522101828684134E-1321.761050914342067E-1328.805254571710335E-1334.402627285855167E-1332.2013136429275836E-1331.1006568214637918E-1335.503284107318959E-1342.7516420536594796E-1341.3758210268297398E-1346.879105134148699E-1353.4395525670743494E-1351.7197762835371747E-1358.598881417685874E-1364.299440708842937E-1362.1497203544214684E-1361.0748601772107342E-1365.374300886053671E-1372.6871504430268355E-1371.3435752215134178E-1376.717876107567089E-1383.3589380537835444E-1381.6794690268917722E-1388.397345134458861E-1394.1986725672294305E-1392.0993362836147152E-1391.0496681418073576E-1395.248340709036788E-1402.624170354518394E-1401.312085177259197E-1406.560425886295985E-1413.2802129431479926E-1411.6401064715739963E-1418.200532357869981E-1424.100266178934991E-1422.0501330894674953E-1421.0250665447337477E-1425.125332723668738E-1432.562666361834369E-1431.2813331809171846E-1436.406665904585923E-1443.2033329522929615E-1441.6016664761464807E-1448.008332380732404E-1454.004166190366202E-1452.002083095183101E-1451.0010415475915505E-1455.005207737957752E-1462.502603868978876E-1461.251301934489438E-1466.25650967244719E-1473.128254836223595E-1471.5641274181117976E-1477.820637090558988E-1483.910318545279494E-1481.955159272639747E-1489.775796363198735E-1494.8878981815993675E-1492.4439490907996837E-1491.2219745453998419E-1496.109872726999209E-1503.0549363634996047E-1501.5274681817498023E-1507.637340908749012E-1513.818670454374506E-1511.909335227187253E-1519.546676135936265E-1524.773338067968132E-1522.386669033984066E-1521.193334516992033E-1525.966672584960165E-1532.9833362924800827E-1531.4916681462400413E-1537.458340731200207E-1543.7291703656001034E-1541.8645851828000517E-1549.322925914000258E-1554.661462957000129E-1552.3307314785000646E-1551.1653657392500323E-1555.826828696250162E-1562.913414348125081E-1561.4567071740625404E-1567.283535870312702E-1573.641767935156351E-1571.8208839675781755E-1579.104419837890877E-1584.552209918945439E-1582.2761049594727193E-1581.1380524797363597E-1585.690262398681798E-1592.845131199340899E-1591.4225655996704496E-1597.112827998352248E-1603.556413999176124E-1601.778206999588062E-1608.89103499794031E-1614.445517498970155E-1612.2227587494850775E-1611.1113793747425387E-1615.556896873712694E-1622.778448436856347E-1621.3892242184281734E-1626.946121092140867E-1633.4730605460704336E-1631.7365302730352168E-1638.682651365176084E-1644.341325682588042E-1642.170662841294021E-1641.0853314206470105E-1645.426657103235052E-1652.713328551617526E-1651.356664275808763E-1656.783321379043816E-1663.391660689521908E-1661.695830344760954E-1668.47915172380477E-1674.239575861902385E-1672.1197879309511924E-1671.0598939654755962E-1675.299469827377981E-1682.6497349136889905E-1681.3248674568444952E-1686.624337284222476E-1693.312168642111238E-1691.656084321055619E-1698.280421605278095E-1704.1402108026390476E-1702.0701054013195238E-1701.0350527006597619E-1705.1752635032988095E-1712.5876317516494047E-1711.2938158758247024E-1716.469079379123512E-1723.234539689561756E-1721.617269844780878E-1728.08634922390439E-1734.043174611952195E-1732.0215873059760975E-1731.0107936529880487E-1735.053968264940244E-1742.526984132470122E-1741.263492066235061E-1746.317460331175305E-1753.158730165587652E-1751.579365082793826E-1757.89682541396913E-1763.948412706984565E-1761.9742063534922827E-1769.871031767461413E-1774.935515883730707E-1772.4677579418653533E-1771.2338789709326767E-1776.169394854663383E-1783.0846974273316917E-1781.5423487136658458E-1787.711743568329229E-1793.8558717841646146E-1791.9279358920823073E-1799.639679460411536E-1804.819839730205768E-1802.409919865102884E-1801.204959932551442E-1806.02479966275721E-1813.012399831378605E-1811.5061999156893026E-1817.530999578446513E-1823.7654997892232564E-1821.8827498946116282E-1829.413749473058141E-1834.7068747365290705E-1832.3534373682645353E-1831.1767186841322676E-1835.883593420661338E-1842.941796710330669E-1841.4708983551653345E-1847.354491775826673E-1853.6772458879133364E-1851.8386229439566682E-1859.193114719783341E-1864.5965573598916705E-1862.2982786799458352E-1861.1491393399729176E-1865.745696699864588E-1872.872848349932294E-1871.436424174966147E-1877.182120874830735E-1883.5910604374153675E-1881.7955302187076838E-1888.977651093538419E-1894.4888255467692094E-1892.2444127733846047E-1891.1222063866923024E-1895.611031933461512E-1902.805515966730756E-1901.402757983365378E-1907.01378991682689E-1913.506894958413445E-1911.7534474792067224E-1918.767237396033612E-1924.383618698016806E-1922.191809349008403E-1921.0959046745042015E-1925.479523372521008E-1932.739761686260504E-1931.369880843130252E-1936.84940421565126E-1943.42470210782563E-1941.712351053912815E-1948.561755269564074E-1954.280877634782037E-1952.1404388173910186E-1951.0702194086955093E-1955.3510970434775465E-1962.6755485217387732E-1961.3377742608693866E-1966.688871304346933E-1973.3444356521734666E-1971.6722178260867333E-1978.361089130433666E-1984.180544565216833E-1982.0902722826084166E-1981.0451361413042083E-1985.2256807065210415E-1992.6128403532605207E-1991.3064201766302604E-1996.532100883151302E-2003.266050441575651E-2001.6330252207878255E-2008.165126103939127E-2014.082563051969564E-2012.041281525984782E-2011.020640762992391E-2015.103203814961955E-2022.5516019074809773E-2021.2758009537404886E-2026.379004768702443E-2033.1895023843512216E-2031.5947511921756108E-2037.973755960878054E-2043.986877980439027E-2041.9934389902195135E-2049.967194951097568E-2054.983597475548784E-2052.491798737774392E-2051.245899368887196E-2056.22949684443598E-2063.11474842221799E-2061.557374211108995E-2067.786871055544975E-2073.893435527772487E-2071.9467177638862437E-2079.733588819431218E-2084.866794409715609E-2082.4333972048578046E-2081.2166986024289023E-2086.083493012144511E-2093.0417465060722557E-2091.5208732530361279E-2097.604366265180639E-2103.8021831325903196E-2101.9010915662951598E-2109.505457831475799E-2114.7527289157378996E-2112.3763644578689498E-2111.1881822289344749E-2115.940911144672374E-2122.970455572336187E-2121.4852277861680936E-2127.426138930840468E-2133.713069465420234E-2131.856534732710117E-2139.282673663550585E-2144.6413368317752925E-2142.3206684158876463E-2141.1603342079438231E-2145.801671039719116E-2152.900835519859558E-2151.450417759929779E-2157.252088799648895E-2163.626044399824447E-2161.8130221999122236E-2169.065110999561118E-2174.532555499780559E-2172.2662777498902796E-2171.1331388749451398E-2175.665694374725699E-2182.8328471873628494E-2181.4164235936814247E-2187.082117968407124E-2193.541058984203562E-2191.770529492101781E-2198.852647460508905E-2204.426323730254452E-2202.213161865127226E-2201.106580932563613E-2205.532904662818065E-2212.7664523314090327E-2211.3832261657045163E-2216.916130828522582E-2223.458065414261291E-2221.7290327071306454E-2228.645163535653227E-2234.3225817678266135E-2232.1612908839133068E-2231.0806454419566534E-2235.403227209783267E-2242.7016136048916335E-2241.3508068024458167E-2246.754034012229084E-2253.377017006114542E-2251.688508503057271E-2258.442542515286355E-2264.221271257643177E-2262.1106356288215886E-2261.0553178144107943E-2265.276589072053972E-2272.638294536026986E-2271.319147268013493E-2276.595736340067465E-2283.297868170033732E-2281.648934085016866E-2288.24467042508433E-2294.122335212542165E-2292.0611676062710827E-2291.0305838031355413E-2295.152919015677707E-2302.5764595078388533E-2301.2882297539194267E-2306.441148769597133E-2313.2205743847985667E-2311.6102871923992833E-2318.051435961996417E-2324.025717980998208E-2322.012858990499104E-2321.006429495249552E-2325.03214747624776E-2332.51607373812388E-2331.25803686906194E-2336.2901843453097E-2343.14509217265485E-2341.572546086327425E-2347.862730431637126E-2353.931365215818563E-2351.9656826079092814E-2359.828413039546407E-2364.9142065197732035E-2362.4571032598866018E-2361.2285516299433009E-2366.142758149716504E-2373.071379074858252E-2371.535689537429126E-2377.67844768714563E-2383.839223843572815E-2381.9196119217864076E-2389.598059608932038E-2394.799029804466019E-2392.3995149022330095E-2391.1997574511165048E-2395.998787255582524E-2402.999393627791262E-2401.499696813895631E-2407.498484069478155E-2413.7492420347390774E-2411.8746210173695387E-2419.373105086847693E-2424.686552543423847E-2422.3432762717119234E-2421.1716381358559617E-2425.858190679279808E-2432.929095339639904E-2431.464547669819952E-2437.32273834909976E-2443.66136917454988E-2441.83068458727494E-2449.1534229363747E-2454.57671146818735E-2452.288355734093675E-2451.1441778670468376E-2455.720889335234188E-2462.860444667617094E-2461.430222333808547E-2467.151111669042735E-2473.5755558345213674E-2471.7877779172606837E-2478.938889586303419E-2484.469444793151709E-2482.2347223965758547E-2481.1173611982879273E-2485.586805991439637E-2492.7934029957198183E-2491.3967014978599092E-2496.983507489299546E-2503.491753744649773E-2501.7458768723248864E-2508.729384361624432E-2514.364692180812216E-2512.182346090406108E-2511.091173045203054E-2515.45586522601527E-2522.727932613007635E-2521.3639663065038175E-2526.819831532519088E-2533.409915766259544E-2531.704957883129772E-2538.52478941564886E-2544.26239470782443E-2542.131197353912215E-2541.0655986769561075E-2545.327993384780537E-2552.6639966923902686E-2551.3319983461951343E-2556.659991730975672E-2563.329995865487836E-2561.664997932743918E-2568.32498966371959E-2574.162494831859795E-2572.0812474159298974E-2571.0406237079649487E-2575.203118539824743E-2582.6015592699123717E-2581.3007796349561859E-2586.503898174780929E-2593.2519490873904646E-2591.6259745436952323E-2598.129872718476162E-2604.064936359238081E-2602.0324681796190404E-2601.0162340898095202E-2605.081170449047601E-2612.5405852245238005E-2611.2702926122619002E-2616.351463061309501E-2623.1757315306547506E-2621.5878657653273753E-2627.939328826636877E-2633.969664413318438E-2631.984832206659219E-2639.924161033296096E-2644.962080516648048E-2642.481040258324024E-2641.240520129162012E-2646.20260064581006E-2653.10130032290503E-2651.550650161452515E-2657.753250807262575E-2663.8766254036312874E-2661.9383127018156437E-2669.691563509078218E-2674.845781754539109E-2672.4228908772695546E-2671.2114454386347773E-2676.057227193173887E-2683.028613596586943E-2681.5143067982934716E-2687.571533991467358E-2693.785766995733679E-2691.8928834978668395E-2699.464417489334198E-2704.732208744667099E-2702.3661043723335494E-2701.1830521861667747E-2705.915260930833874E-2712.957630465416937E-2711.4788152327084684E-2717.394076163542342E-2723.697038081771171E-2721.8485190408855855E-2729.242595204427927E-2734.621297602213964E-2732.310648801106982E-2731.155324400553491E-2735.776622002767455E-2742.8883110013837273E-2741.4441555006918637E-2747.220777503459318E-2753.610388751729659E-2751.8051943758648296E-2759.025971879324148E-2764.512985939662074E-2762.256492969831037E-2761.1282464849155185E-2765.641232424577592E-2772.820616212288796E-2771.410308106144398E-2777.05154053072199E-2783.525770265360995E-2781.7628851326804976E-2788.814425663402488E-2794.407212831701244E-2792.203606415850622E-2791.101803207925311E-2795.509016039626555E-2802.7545080198132776E-2801.3772540099066388E-2806.886270049533194E-2813.443135024766597E-2811.7215675123832985E-2818.607837561916492E-2824.303918780958246E-2822.151959390479123E-2821.0759796952395615E-2825.379898476197808E-2832.689949238098904E-2831.344974619049452E-2836.72487309524726E-2843.36243654762363E-2841.681218273811815E-2848.406091369059075E-2854.203045684529537E-2852.1015228422647686E-2851.0507614211323843E-2855.253807105661922E-2862.626903552830961E-2861.3134517764154804E-2866.567258882077402E-2873.283629441038701E-2871.6418147205193505E-2878.209073602596752E-2884.104536801298376E-2882.052268400649188E-2881.026134200324594E-2885.13067100162297E-2892.565335500811485E-2891.2826677504057426E-2896.413338752028713E-2903.2066693760143564E-2901.6033346880071782E-2908.016673440035891E-2914.0083367200179456E-2912.0041683600089728E-2911.0020841800044864E-2915.010420900022432E-2922.505210450011216E-2921.252605225005608E-2926.26302612502804E-2933.13151306251402E-2931.56575653125701E-2937.82878265628505E-2943.914391328142525E-2941.9571956640712625E-2949.785978320356312E-2954.892989160178156E-2952.446494580089078E-2951.223247290044539E-2956.116236450222695E-2963.0581182251113476E-2961.5290591125556738E-2967.645295562778369E-2973.8226477813891845E-2971.9113238906945923E-2979.556619453472961E-2984.778309726736481E-2982.3891548633682403E-2981.1945774316841202E-2985.972887158420601E-2992.9864435792103004E-2991.4932217896051502E-2997.466108948025751E-3003.7330544740128755E-3001.8665272370064378E-3009.332636185032189E-3014.666318092516094E-3012.333159046258047E-3011.1665795231290236E-3015.832897615645118E-3022.916448807822559E-3021.4582244039112795E-3027.291122019556397E-3033.645561009778199E-3031.8227805048890994E-3039.113902524445497E-3044.5569512622227484E-3042.2784756311113742E-3041.1392378155556871E-3045.696189077778436E-3052.848094538889218E-3051.424047269444609E-3057.120236347223044E-3063.560118173611522E-3061.780059086805761E-3068.900295434028806E-3074.450147717014403E-3072.2250738585072014E-3071.1125369292536007E-3075.562684646268003E-3082.7813423231340017E-3081.390671161567001E-3086.953355807835004E-3093.4766779039175E-3091.73833895195875E-3098.69169475979376E-3104.3458473798969E-3102.17292368994844E-3101.0864618449742E-3105.432309224871E-3112.7161546124355E-3111.358077306218E-3116.79038653109E-3123.395193265544E-3121.69759663277E-3128.48798316386E-3134.24399158193E-3132.12199579097E-3131.0609978955E-3135.3049894774E-3142.6524947387E-3141.3262473694E-3146.631236847E-3153.315618423E-3151.65780921E-3158.28904606E-3164.14452303E-3162.0722615E-3161.03613076E-3165.180654E-3172.590327E-3171.2951634E-3176.475817E-3183.23791E-3181.618954E-3188.09477E-3194.0474E-3192.0237E-3191.01185E-3195.059E-3202.5296E-3201.265E-3206.324E-3213.16E-3211.58E-3217.9E-3223.95E-3222.0E-3221.0E-3224.9E-3232.5E-3231.0E-3234.9E-324

Nevím vůbec, kde začít hledat chybu.

Nahlásit jako SPAM
IP: 83.208.241.–
Dano
~ Anonymní uživatel
101 příspěvků
12. 10. 2012   #4
-
0
-
Nahlásit jako SPAM
IP: 195.28.127.–
MaxDJs0
Návštěvník
12. 10. 2012   #5
-
0
-

#4 Dano
Ale my to máme tak zadané ze školy, že to máme řešit i pro desetinná čísla.

Nahlásit jako SPAM
IP: 83.208.241.–
TheOndrap+2
Super člen
12. 10. 2012   #6
-
0
-

Ahoj .. dle mého názoru je nesnazší dělit číslo mocninnou základu.

Ty píšeš o desetinných číslech .. no ono není moc standartní zapisovat desetinná čísla v prostém binárním zobrazení, k tomu se používá speciální IEEE kodování s plovoucí řádovou čárkou (http://cs.wikipedia.org/wiki/IEEE_754).

Pokud chceš trváš na tvém převodu a chápu to správně, rád  bys převedl číslo 10.25 -> 1010.01 ?? chápu to správně ??

Nahlásit jako SPAM
IP: 88.102.250.–
ZČU v Plzni je mnohem víc, než jenom právnická fakulta !!
Fakulta aplikovaných věd www.fav.zcu.cz
"Když nedokážete říci věci jednoduše, pak jim dostatečně nerozumíte"
KIIV
~ Moderátor
+43
God of flame
12. 10. 2012   #7
-
0
-

#6 TheOndrap
z hlediska matematickeho se prave libovolna soustava da zapsat s desetinnou carkou (resp teckou)

a rad mas jako mocninu zakladu pozici ... kde z^0 je hned pred carkou

tj. cislo 49D.438E v hex (kde mocniny zakladu jsou:  2 1 0 . -1 -2 -3 -4) a rozepise se to jako:

(4 * 16^2) + (9 * 16^1) + (13 * 16^0) + (4 * 16^(-1)) + (3 * 16^(-2)) + (8 * 16^(-3)) + (14 * 16^(-1))

no a prevod je jednoduchy...  cela cast se deli celociselne zakladem dokud nevyjde nula, zbytky se zapisuji... vysledek se zapise odzadu

desetinna cast se nasobi zakladem a cela cast se odtrhava (aby pak zase bylo cislo mensi nez 1) - toto se uz zapisuje popredu...

samozrejme to neni moc vhodna reprezentace pro pocitace, ale z hlediska matematickeho je to normalni pozicni ciselna soustava (pak sou jeste nepozicni jako treba rimske cislice) - pozicni soustava ma pak nekolik zakladnich veci: zaklad ciselne soustavy Z,  znaky od 0 do Z-1 (a pokud je to vice nez 9 pouzivaji se pismena) a pak uz zalezi jen na pozici .. v desitkove soustave mame pozici 0 => jednotky... pozici 1 => desitky .... pozici 4 => desetitisice ... a pozice -1 (za desetinou carkou) jsou desetiny ......

u prevodu necele casti je pak hlavni riziko, ze se to muze  zacyklit v periode, nebo muze vyjit cislo nekonecne a jeste neperiodicke

Nahlásit jako SPAM
IP: 62.216.147.–
Program vždy dělá to co naprogramujete, ne to co chcete...
TheOndrap+2
Super člen
12. 10. 2012   #8
-
0
-

#7 KIIV
řešil bych tak že bych zadal maximální přesnost výsledku a hotovo ,, když bude zbytek nula, výpočet končí, pokud má číslo periodický rozvoj, zastaví ho ta přesnost.

Tak jak tak, řešení dle mě max ma 8-12 řádků i s deklarací :)

Nahlásit jako SPAM
IP: 88.102.250.–
ZČU v Plzni je mnohem víc, než jenom právnická fakulta !!
Fakulta aplikovaných věd www.fav.zcu.cz
"Když nedokážete říci věci jednoduše, pak jim dostatečně nerozumíte"
KIIV
~ Moderátor
+43
God of flame
12. 10. 2012   #9
-
0
-

kazdopadne:

for (int i = 0; i < 10; i++) {     // wtf?  + na dalsim radku:
  while(cisloPoRozdeleni[1] != 0){ // wtf?  - muze se vybrat jedno z toho --- zalezi co chtel

    double meziVysledek = cisloPoRozdeleni[1]*2;
    double rozdelenyMeziVysledek[] =  rozdeleniCisla(meziVysledek);
    vysledek2 = vysledek2+rozdelenyMeziVysledek[0]; // [0] je double... jak to bude vypadat zapsany do stringu?
    cisloPoRozdeleni[1] = rozdelenyMeziVysledek[1];
  }
}
Nahlásit jako SPAM
IP: 62.216.147.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Dano
~ Anonymní uživatel
101 příspěvků
12. 10. 2012   #10
-
0
-

TheOndrap mal pravdu metodka na par riadkov    

public static String prevod(int cislo, int sustava) {
    String hex = "0123456789ABCDEF";
    String vysledok = "";
    int zostatok = cislo;
    while (zostatok > 0) {
        vysledok = hex.charAt(zostatok % sustava) + vysledok;
        zostatok = zostatok / sustava;
    }

    return vysledok;
}
Nahlásit jako SPAM
IP: 195.28.127.–
MaxDJs0
Návštěvník
12. 10. 2012   #11
-
0
-

Tak už mi ten převod desetinného čísla funguje, ale zatím pouze do dvojkové soustavy. Nevíte jak to upravit?

public static String prevodDesetinnehoCisla(double cislo, double soustava){
  String hex = "0123456789ABCDEF";
  String vysledek = "";
  String vysledek1 = "";
  String vysledek2 = "";
  int i = 0;
  
  double rozdeleneCislo[] = rozdeleniCisla(cislo);
  
  //cela cast
  int zostatok1 = (int)rozdeleneCislo[0];
    while (zostatok1 > 0) {
        vysledek1 = hex.charAt(zostatok1 % (int)soustava) + vysledek1;
        zostatok1 = zostatok1 / (int)soustava;
    }
  //desetinna cast  
    double zostatok2 = rozdeleneCislo[1];
    
    while (zostatok2 < 0 || i<10){
        double meziVysledek = zostatok2*2;
        double[] rozdelenyMeziVysledek = rozdeleniCisla(meziVysledek);
        zostatok2 = rozdelenyMeziVysledek[1];
        vysledek2 = vysledek2 + hex.charAt((int)rozdelenyMeziVysledek[0]);
        i=i+1;
    }
  
  
    
  vysledek = vysledek1+"."+vysledek2;
  return vysledek;
  }
Nahlásit jako SPAM
IP: 83.208.241.–
TheOndrap+2
Super člen
12. 10. 2012   #12
-
0
-

takže třeba do trojkové soustavy to nejde?? Musíš si uvědomit že do 11 a více se musí přidávat spec. znaky

+ doufám že si uvědomuješ že při použití .charAt využíváš pozic čísel v danné soustavě .. tzn ty předpokládáš převod z HEX ->

+ chyba je podlě mě tady :

double meziVysledek = zostatok2*2;

měl bys mít = zostatok * soustava

Nahlásit jako SPAM
IP: 88.102.250.–
ZČU v Plzni je mnohem víc, než jenom právnická fakulta !!
Fakulta aplikovaných věd www.fav.zcu.cz
"Když nedokážete říci věci jednoduše, pak jim dostatečně nerozumíte"
MaxDJs0
Návštěvník
12. 10. 2012   #13
-
0
-

+ chyba je podlě mě tady : 

double meziVysledek = zostatok2*2;

měl bys mít = zostatok * soustava

Tak z tohle bych si nafackoval. Taková blbá chyba.

Nahlásit jako SPAM
IP: 83.208.241.–
TheOndrap+2
Super člen
12. 10. 2012   #14
-
0
-

Np .. a ještě ti poradím .. místo i = i + 1; piš i++ nebo i += 1 .. je to uplně to samý a ušetří ti to čas

Nahlásit jako SPAM
IP: 88.102.250.–
ZČU v Plzni je mnohem víc, než jenom právnická fakulta !!
Fakulta aplikovaných věd www.fav.zcu.cz
"Když nedokážete říci věci jednoduše, pak jim dostatečně nerozumíte"
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý